<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IRremoteESP8266: src/ir_Haier.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">IRremoteESP8266
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">ir_Haier.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="ir__Haier_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Copyright 2018 crankyoldgit</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// Supports:</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">//   Brand: Haier,  Model: HSU07-HEA03 remote (HAIER_AC)</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">//   Brand: Haier,  Model: YR-W02 remote (HAIER_AC_YRW02)</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">//   Brand: Haier,  Model: HSU-09HMC203 A/C (HAIER_AC_YRW02)</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160; </div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef IR_HAIER_H_</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define IR_HAIER_H_</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#ifndef UNIT_TEST</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;Arduino.h&gt;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IRremoteESP8266_8h.html">IRremoteESP8266.h</a>&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IRsend_8h.html">IRsend.h</a>&quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#ifdef UNIT_TEST</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &quot;IRsend_test.h&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">// Haier HSU07-HEA03 remote</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="unionHaierProtocol.html">   30</a></span>&#160;<span class="keyword">union </span><a class="code" href="unionHaierProtocol.html">HaierProtocol</a>{</div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="unionHaierProtocol.html#af8966fa819bcb51f496ec185130bcf0f">   32</a></span>&#160;  uint8_t <a class="code" href="unionHaierProtocol.html#af8966fa819bcb51f496ec185130bcf0f">remote_state</a>[<a class="code" href="IRremoteESP8266_8h.html#afb4cd0c1a9c689d862e7095f0ab6dbe5">kHaierACStateLength</a>];</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;  <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <span class="comment">// Byte 0</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="unionHaierProtocol.html#a6c15a8e22231dae23ffa8bef78420054">   35</a></span>&#160;    uint8_t <a class="code" href="unionHaierProtocol.html#a6c15a8e22231dae23ffa8bef78420054">Prefix</a>;</div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <span class="comment">// Byte 1</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="unionHaierProtocol.html#aeb39971e74e12fb0c7463006d6c644bd">   37</a></span>&#160;    uint8_t <a class="code" href="unionHaierProtocol.html#aeb39971e74e12fb0c7463006d6c644bd">Command</a>:4;</div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="unionHaierProtocol.html#affb6ef60b50ae3351393e3f168ae8f2f">   38</a></span>&#160;    uint8_t <a class="code" href="unionHaierProtocol.html#affb6ef60b50ae3351393e3f168ae8f2f">Temp</a>   :4;</div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="comment">// Byte 2</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="unionHaierProtocol.html#a093d2441856e448462551ac7bc1b8d9b">   40</a></span>&#160;    uint8_t <a class="code" href="unionHaierProtocol.html#a093d2441856e448462551ac7bc1b8d9b">CurrHours</a>:5;</div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="unionHaierProtocol.html#aabc2a684c5936858544c02ec8a68afb9">   41</a></span>&#160;    uint8_t <a class="code" href="unionHaierProtocol.html#aabc2a684c5936858544c02ec8a68afb9">unknown</a>  :1;  <span class="comment">// value=1</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="unionHaierProtocol.html#afc7ba334ae13911868d90c2fe37813b9">   42</a></span>&#160;    uint8_t <a class="code" href="unionHaierProtocol.html#afc7ba334ae13911868d90c2fe37813b9">Swing</a>    :2;</div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <span class="comment">// Byte 3</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="unionHaierProtocol.html#a70abde8bccafd39cf1a1506f63481893">   44</a></span>&#160;    uint8_t <a class="code" href="unionHaierProtocol.html#a70abde8bccafd39cf1a1506f63481893">CurrMins</a>:6;</div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="unionHaierProtocol.html#a6f3893711bffc1d59d8e3d76e7a954a2">   45</a></span>&#160;    uint8_t <a class="code" href="unionHaierProtocol.html#a6f3893711bffc1d59d8e3d76e7a954a2">OffTimer</a>:1;</div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="unionHaierProtocol.html#ae5c9fd1397bcf3c6737c38d8e76682b1">   46</a></span>&#160;    uint8_t <a class="code" href="unionHaierProtocol.html#ae5c9fd1397bcf3c6737c38d8e76682b1">OnTimer</a> :1;</div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    <span class="comment">// Byte 4</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="unionHaierProtocol.html#aecaad31185de1e7843047a9b9194d55b">   48</a></span>&#160;    uint8_t <a class="code" href="unionHaierProtocol.html#aecaad31185de1e7843047a9b9194d55b">OffHours</a>:5;</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="unionHaierProtocol.html#a4cf70c633e33066e3fc0f98bb2ad3820">   49</a></span>&#160;    uint8_t <a class="code" href="unionHaierProtocol.html#a4cf70c633e33066e3fc0f98bb2ad3820">Health</a>  :1;</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="unionHaierProtocol.html#a2648f0ff2bc5a6481e9fd2017408a590">   50</a></span>&#160;    uint8_t :0;</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="comment">// Byte 5</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="unionHaierProtocol.html#a6eec6ff574e93f327ca567251b37e33b">   52</a></span>&#160;    uint8_t <a class="code" href="unionHaierProtocol.html#a6eec6ff574e93f327ca567251b37e33b">OffMins</a>:6;</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="unionHaierProtocol.html#a44e6a58782f4c6d5e532c715e9050b5b">   53</a></span>&#160;    uint8_t <a class="code" href="unionHaierProtocol.html#a44e6a58782f4c6d5e532c715e9050b5b">Fan</a>    :2;</div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="comment">// Byte 6</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="unionHaierProtocol.html#af08311ee6680b3a6951bd200e2b8f310">   55</a></span>&#160;    uint8_t <a class="code" href="unionHaierProtocol.html#af08311ee6680b3a6951bd200e2b8f310">OnHours</a>:5;</div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="unionHaierProtocol.html#aab10d402084329d472e08385cc9645ec">   56</a></span>&#160;    uint8_t <a class="code" href="unionHaierProtocol.html#aab10d402084329d472e08385cc9645ec">Mode</a>   :3;</div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="comment">// Byte 7</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="unionHaierProtocol.html#a65fe65bdfb819fec434eba573daccc34">   58</a></span>&#160;    uint8_t <a class="code" href="unionHaierProtocol.html#a65fe65bdfb819fec434eba573daccc34">OnMins</a>:6;</div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="unionHaierProtocol.html#a88942d48d868ff5697040d5a89f93099">   59</a></span>&#160;    uint8_t <a class="code" href="unionHaierProtocol.html#a88942d48d868ff5697040d5a89f93099">Sleep</a> :1;</div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="unionHaierProtocol.html#a8e91589ca0e2db529f73e3f8ecbb00a0">   60</a></span>&#160;    uint8_t :0;</div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <span class="comment">// Byte 8</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="unionHaierProtocol.html#a5842a170e3cdd0ad823cf244c7b8dd51">   62</a></span>&#160;    uint8_t <a class="code" href="unionHaierProtocol.html#a5842a170e3cdd0ad823cf244c7b8dd51">Sum</a>;</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  };</div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;};</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160; </div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">// Constants</span></div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160; </div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a8502c9bea40205e01e6a01b47354272a">   68</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a8502c9bea40205e01e6a01b47354272a">kHaierAcPrefix</a> = 0b10100101;</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160; </div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#aafd2a4f38ecf78482a5a94e9c6c23f1c">   70</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#aafd2a4f38ecf78482a5a94e9c6c23f1c">kHaierAcMinTemp</a> = 16;</div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a86c9e8176fc01e52e883cadcc1d31763">   71</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a86c9e8176fc01e52e883cadcc1d31763">kHaierAcDefTemp</a> = 25;</div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a925252489fe34d9932151817d0dbe90b">   72</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a925252489fe34d9932151817d0dbe90b">kHaierAcMaxTemp</a> = 30;</div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a96599917176ee244874926d1a530dd7e">   73</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a96599917176ee244874926d1a530dd7e">kHaierAcCmdOff</a> =         0b0000;</div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a83973c2ad2b7b95611c81628c387e0d8">   74</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a83973c2ad2b7b95611c81628c387e0d8">kHaierAcCmdOn</a> =          0b0001;</div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a4543aa4ee28323bb9cb5c077f9bf9da1">   75</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a4543aa4ee28323bb9cb5c077f9bf9da1">kHaierAcCmdMode</a> =        0b0010;</div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a447818ec7970e2ca09540afe44ecf90d">   76</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a447818ec7970e2ca09540afe44ecf90d">kHaierAcCmdFan</a> =         0b0011;</div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#aab5363f07920971c31d6acf8e70d392c">   77</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#aab5363f07920971c31d6acf8e70d392c">kHaierAcCmdTempUp</a> =      0b0110;</div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#aecc31139b4e45a7784669554c6fdbb54">   78</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#aecc31139b4e45a7784669554c6fdbb54">kHaierAcCmdTempDown</a> =    0b0111;</div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#abe52b62dd513395f2a8c7d47fa2fc514">   79</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#abe52b62dd513395f2a8c7d47fa2fc514">kHaierAcCmdSleep</a> =       0b1000;</div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a9bd7c081d460a4ae5e3eac977f3916e4">   80</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a9bd7c081d460a4ae5e3eac977f3916e4">kHaierAcCmdTimerSet</a> =    0b1001;</div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ab780da80fc471f004c5b34dc8f347d00">   81</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ab780da80fc471f004c5b34dc8f347d00">kHaierAcCmdTimerCancel</a> = 0b1010;</div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a83cd0b5f307d9ae3ed0a3c6ed8fef94d">   82</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a83cd0b5f307d9ae3ed0a3c6ed8fef94d">kHaierAcCmdHealth</a> =      0b1100;</div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#afab164c2aabf39fdc1e956ff88af19d9">   83</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#afab164c2aabf39fdc1e956ff88af19d9">kHaierAcCmdSwing</a> =       0b1101;</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160; </div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ac21f78c3cef931154b3fc953bbebc3b4">   85</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ac21f78c3cef931154b3fc953bbebc3b4">kHaierAcSwingOff</a> =  0b00;</div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a4bff8829604ee927dda5cfc54bd6cfe6">   86</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a4bff8829604ee927dda5cfc54bd6cfe6">kHaierAcSwingUp</a> =   0b01;</div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a2cf3a2102c6d4f9aede44efe853ffaa8">   87</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a2cf3a2102c6d4f9aede44efe853ffaa8">kHaierAcSwingDown</a> = 0b10;</div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#af65a92a0b9d29a52ac882d4457e954e8">   88</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#af65a92a0b9d29a52ac882d4457e954e8">kHaierAcSwingChg</a> =  0b11;</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160; </div>
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ac33a02f63ee77e0d3050598511730865">   90</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ac33a02f63ee77e0d3050598511730865">kHaierAcAuto</a> = 0;</div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a83cd81ea1115f42a403ea5ee07a32bbb">   91</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a83cd81ea1115f42a403ea5ee07a32bbb">kHaierAcCool</a> = 1;</div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a3d36fbe1308221248f45044e5a671636">   92</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a3d36fbe1308221248f45044e5a671636">kHaierAcDry</a> = 2;</div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a0edb011bdf85197e63a32d37f8517dd2">   93</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a0edb011bdf85197e63a32d37f8517dd2">kHaierAcHeat</a> = 3;</div>
<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#af4049629b2139ca82471dfed1e1ced15">   94</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#af4049629b2139ca82471dfed1e1ced15">kHaierAcFan</a> = 4;</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a8a34e74f7083caa98ed4afc31294539e">   96</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a8a34e74f7083caa98ed4afc31294539e">kHaierAcFanAuto</a> = 0;</div>
<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ae31e878b09284a6730a11e2017cfd7a8">   97</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ae31e878b09284a6730a11e2017cfd7a8">kHaierAcFanLow</a> = 1;</div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a5dfa833768e549964aa0bf8a336c32b0">   98</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a5dfa833768e549964aa0bf8a336c32b0">kHaierAcFanMed</a> = 2;</div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#aa4d9e45ca5777707778ef78a3284da19">   99</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#aa4d9e45ca5777707778ef78a3284da19">kHaierAcFanHigh</a> = 3;</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; </div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ae04e48e926a7533c3b62f0ff991e1f88">  101</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Haier_8h.html#ae04e48e926a7533c3b62f0ff991e1f88">kHaierAcMaxTime</a> = (23 * 60) + 59;</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160; </div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ac63b91acdffa55d440b08aee05bda5dc">  103</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ac63b91acdffa55d440b08aee05bda5dc">kHaierAcSleepBit</a> = 0b01000000;</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160; </div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment">// Legacy Haier AC defines.</span></div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor">#define HAIER_AC_MIN_TEMP kHaierAcMinTemp</span></div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="preprocessor">#define HAIER_AC_DEF_TEMP kHaierAcDefTemp</span></div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="preprocessor">#define HAIER_AC_MAX_TEMP kHaierAcMaxTemp</span></div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="preprocessor">#define HAIER_AC_CMD_OFF kHaierAcCmdOff</span></div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#define HAIER_AC_CMD_ON kHaierAcCmdOn</span></div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="preprocessor">#define HAIER_AC_CMD_MODE kHaierAcCmdMode</span></div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#define HAIER_AC_CMD_FAN kHaierAcCmdFan</span></div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="preprocessor">#define HAIER_AC_CMD_TEMP_UP kHaierAcCmdTempUp</span></div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor">#define HAIER_AC_CMD_TEMP_DOWN kHaierAcCmdTempDown</span></div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="preprocessor">#define HAIER_AC_CMD_SLEEP kHaierAcCmdSleep</span></div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="preprocessor">#define HAIER_AC_CMD_TIMER_SET kHaierAcCmdTimerSet</span></div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="preprocessor">#define HAIER_AC_CMD_TIMER_CANCEL kHaierAcCmdTimerCancel</span></div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="preprocessor">#define HAIER_AC_CMD_HEALTH kHaierAcCmdHealth</span></div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="preprocessor">#define HAIER_AC_CMD_SWING kHaierAcCmdSwing</span></div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="preprocessor">#define HAIER_AC_SWING_OFF kHaierAcSwingOff</span></div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor">#define HAIER_AC_SWING_UP kHaierAcSwingUp</span></div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="preprocessor">#define HAIER_AC_SWING_DOWN kHaierAcSwingDown</span></div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="preprocessor">#define HAIER_AC_SWING_CHG kHaierAcSwingChg</span></div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="preprocessor">#define HAIER_AC_AUTO kHaierAcAuto</span></div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="preprocessor">#define HAIER_AC_COOL kHaierAcCool</span></div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="preprocessor">#define HAIER_AC_DRY kHaierAcDry</span></div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor">#define HAIER_AC_HEAT kHaierAcHeat</span></div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="preprocessor">#define HAIER_AC_FAN kHaierAcFan</span></div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="preprocessor">#define HAIER_AC_FAN_AUTO kHaierAcFanAuto</span></div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="preprocessor">#define HAIER_AC_FAN_LOW kHaierAcFanLow</span></div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor">#define HAIER_AC_FAN_MED kHaierAcFanMed</span></div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="preprocessor">#define HAIER_AC_FAN_HIGH kHaierAcFanHigh</span></div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160; </div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="comment">// Haier YRW02 remote</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html">  135</a></span>&#160;<span class="keyword">union </span><a class="code" href="unionHaierYRW02Protocol.html">HaierYRW02Protocol</a>{</div>
<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#aa1607ceff9c90cbb78e446a98eb0fe52">  136</a></span>&#160;  uint8_t <a class="code" href="unionHaierYRW02Protocol.html#aa1607ceff9c90cbb78e446a98eb0fe52">raw</a>[<a class="code" href="IRremoteESP8266_8h.html#a8f52b7d4595c117cf0b81ffbd1148cda">kHaierACYRW02StateLength</a>];  </div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="comment">// Byte 0</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#af55185fad3229f2011b5917412ad8c1b">  139</a></span>&#160;    uint8_t <a class="code" href="unionHaierYRW02Protocol.html#af55185fad3229f2011b5917412ad8c1b">Prefix</a>;</div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    <span class="comment">// Byte 1</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#a671ff83501bd3e6f6e5c2b08bb6d26d1">  141</a></span>&#160;    uint8_t <a class="code" href="unionHaierYRW02Protocol.html#a671ff83501bd3e6f6e5c2b08bb6d26d1">Swing</a>:4;</div>
<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#a19211a1af7d11da6034b87cb7a042fcd">  142</a></span>&#160;    uint8_t <a class="code" href="unionHaierYRW02Protocol.html#a19211a1af7d11da6034b87cb7a042fcd">Temp</a> :4;  <span class="comment">// 16C~30C</span></div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    <span class="comment">// Byte 2</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#a48fb1f12d6902568da902b5de7e1bfef">  144</a></span>&#160;    uint8_t :8;</div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <span class="comment">// Byte 3</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#aa20f4bbeb35dfa6afe0af4c7ea1cc498">  146</a></span>&#160;    uint8_t       :1;</div>
<div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#a7fa39803fd72a788736bb8f00acfa76f">  147</a></span>&#160;    uint8_t <a class="code" href="unionHaierYRW02Protocol.html#a7fa39803fd72a788736bb8f00acfa76f">Health</a>:1;</div>
<div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#a51178359e3860a50dbf53bda14b5a88c">  148</a></span>&#160;    uint8_t       :6;</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    <span class="comment">// Byte 4</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#ad2c1066a2d796f49424feb2612df3d98">  150</a></span>&#160;    uint8_t      :6;</div>
<div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#ae87a93806911792662391a671607a760">  151</a></span>&#160;    uint8_t <a class="code" href="unionHaierYRW02Protocol.html#ae87a93806911792662391a671607a760">Power</a>:1;</div>
<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#a62e17795ebcaea82715972f98d5408ca">  152</a></span>&#160;    uint8_t      :1;</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    <span class="comment">// Byte 5</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#a7405f45e3dfb5230a6e531c3ea5bd2cc">  154</a></span>&#160;    uint8_t    :5;</div>
<div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#a4ecca9653d14ccd283e44f6e385ff36a">  155</a></span>&#160;    uint8_t <a class="code" href="unionHaierYRW02Protocol.html#a4ecca9653d14ccd283e44f6e385ff36a">Fan</a>:3;</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <span class="comment">// Byte 6</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#a03595ed00f070b0eecc647f426c2c9b1">  157</a></span>&#160;    uint8_t      :6;</div>
<div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#a1cea874c8398b49e704ba0943284c64a">  158</a></span>&#160;    uint8_t <a class="code" href="unionHaierYRW02Protocol.html#a1cea874c8398b49e704ba0943284c64a">Turbo</a>:2;</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    <span class="comment">// Byte 7</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#a13f95461887012ca8a0d27ce71c65cb6">  160</a></span>&#160;    uint8_t     :5;</div>
<div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#a8b9060ce2e0b1e9192191e6ae68277dd">  161</a></span>&#160;    uint8_t <a class="code" href="unionHaierYRW02Protocol.html#a8b9060ce2e0b1e9192191e6ae68277dd">Mode</a>:3;</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    <span class="comment">// Byte 8</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#ab0640cdf0ae186ef0a75699bb2ab2247">  163</a></span>&#160;    uint8_t      :7;</div>
<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#a0b0ad77222892e9fccf122fcee95d87d">  164</a></span>&#160;    uint8_t <a class="code" href="unionHaierYRW02Protocol.html#a0b0ad77222892e9fccf122fcee95d87d">Sleep</a>:1;</div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <span class="comment">// Byte 9</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#ad5c197a23df2a768d022946347d765fe">  166</a></span>&#160;    uint8_t :8;</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    <span class="comment">// Byte 10</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#abc9d14dbc6ab798a389244499fad7d96">  168</a></span>&#160;    uint8_t :8;</div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <span class="comment">// Byte 11</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#a033dacb9a8b936c0187e86c585431198">  170</a></span>&#160;    uint8_t :8;</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <span class="comment">// Byte 12</span></div>
<div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#ab5b13626ecf6214cc1be52d47909915d">  172</a></span>&#160;    uint8_t <a class="code" href="unionHaierYRW02Protocol.html#ab5b13626ecf6214cc1be52d47909915d">Button</a>:4;</div>
<div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#a3df5d93e5f676ff44b32227a44be98ac">  173</a></span>&#160;    uint8_t       :4;</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    <span class="comment">// Byte 13</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="unionHaierYRW02Protocol.html#a656449e6901b3333ca0efe4a2e662fc7">  175</a></span>&#160;    uint8_t <a class="code" href="unionHaierYRW02Protocol.html#a656449e6901b3333ca0efe4a2e662fc7">Sum</a>;</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;  };</div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;};</div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160; </div>
<div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ac62d0f7ca94e064712f8a7a80da2f11e">  179</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ac62d0f7ca94e064712f8a7a80da2f11e">kHaierAcYrw02Prefix</a> = 0xA6;</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160; </div>
<div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a62570c15418cf24a94c92b162967f892">  181</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a62570c15418cf24a94c92b162967f892">kHaierAcYrw02SwingOff</a> = 0x0;</div>
<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#adf10f1bc1b293c684232cb6398631f70">  182</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#adf10f1bc1b293c684232cb6398631f70">kHaierAcYrw02SwingTop</a> = 0x1;</div>
<div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a32d6dd98a050711bf928bf250b769839">  183</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a32d6dd98a050711bf928bf250b769839">kHaierAcYrw02SwingMiddle</a> = 0x2;  <span class="comment">// Not available in heat mode.</span></div>
<div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#aa4b64385da5e9b2a89e15f70cd8c89e9">  184</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#aa4b64385da5e9b2a89e15f70cd8c89e9">kHaierAcYrw02SwingBottom</a> = 0x3;  <span class="comment">// Only available in heat mode.</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#aab380411ac07b2b7f67956a5bbc362fb">  185</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#aab380411ac07b2b7f67956a5bbc362fb">kHaierAcYrw02SwingDown</a> = 0xA;</div>
<div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a95ae88223d910d4d966949241bccff8d">  186</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a95ae88223d910d4d966949241bccff8d">kHaierAcYrw02SwingAuto</a> = 0xC;  <span class="comment">// Airflow</span></div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160; </div>
<div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ab47bc48ac77fbf6734a41d10f0a53e4a">  188</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ab47bc48ac77fbf6734a41d10f0a53e4a">kHaierAcYrw02FanHigh</a> = 0b001;</div>
<div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a65583649324c6039112e7db26d685afc">  189</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a65583649324c6039112e7db26d685afc">kHaierAcYrw02FanMed</a> =  0b010;</div>
<div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a9a0a14ab98e1e52b60b9b9bf611c20cc">  190</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a9a0a14ab98e1e52b60b9b9bf611c20cc">kHaierAcYrw02FanLow</a> =  0b011;</div>
<div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ad554d38035ac15e4ea8b855802886989">  191</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ad554d38035ac15e4ea8b855802886989">kHaierAcYrw02FanAuto</a> = 0b101;</div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160; </div>
<div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#aa06ba46287b5806a6373e921cee34a51">  193</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#aa06ba46287b5806a6373e921cee34a51">kHaierAcYrw02TurboOff</a> = 0x0;</div>
<div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ab096c15c69f242b99fbc1e4d7bd7548e">  194</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ab096c15c69f242b99fbc1e4d7bd7548e">kHaierAcYrw02TurboHigh</a> = 0x1;</div>
<div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a19b7f4aee8115eb77267c415d8b3bd82">  195</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a19b7f4aee8115eb77267c415d8b3bd82">kHaierAcYrw02TurboLow</a> = 0x2;</div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160; </div>
<div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#aa025eeba1c344c50cc98334c97a3c174">  197</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#aa025eeba1c344c50cc98334c97a3c174">kHaierAcYrw02Auto</a> = 0b000;  <span class="comment">// 0</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a30c5d4e61ae3112a8a3e3622eecbb10b">  198</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a30c5d4e61ae3112a8a3e3622eecbb10b">kHaierAcYrw02Cool</a> = 0b001;  <span class="comment">// 1</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a66cd902f2d35b4c8f66f085a0950a5fc">  199</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a66cd902f2d35b4c8f66f085a0950a5fc">kHaierAcYrw02Dry</a> =  0b010;  <span class="comment">// 2</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#aa0873975b6649294a3c9943130cb7a38">  200</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#aa0873975b6649294a3c9943130cb7a38">kHaierAcYrw02Heat</a> = 0b100;  <span class="comment">// 4</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a35f50f043a2dda75c59507c1ed845b5d">  201</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a35f50f043a2dda75c59507c1ed845b5d">kHaierAcYrw02Fan</a> =  0b110;  <span class="comment">// 5</span></div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160; </div>
<div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a3b24373f9c812f93eca05ee47e61d6e0">  203</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a3b24373f9c812f93eca05ee47e61d6e0">kHaierAcYrw02ButtonTempUp</a> = 0x0;</div>
<div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#af4a9e5f7f705c331531ea2863dbbd11d">  204</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#af4a9e5f7f705c331531ea2863dbbd11d">kHaierAcYrw02ButtonTempDown</a> = 0x1;</div>
<div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#aa10c558317448783535e96be5876505c">  205</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#aa10c558317448783535e96be5876505c">kHaierAcYrw02ButtonSwing</a> = 0x2;</div>
<div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a0f9c265510e1e27f38817f08ef9c622b">  206</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a0f9c265510e1e27f38817f08ef9c622b">kHaierAcYrw02ButtonFan</a> = 0x4;</div>
<div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#af36b9c628a697f6c596052ecd143d80b">  207</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#af36b9c628a697f6c596052ecd143d80b">kHaierAcYrw02ButtonPower</a> = 0x5;</div>
<div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a74466c50b450b08407c9f226a5d657e5">  208</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a74466c50b450b08407c9f226a5d657e5">kHaierAcYrw02ButtonMode</a> = 0x6;</div>
<div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ab1dc6c0a4ed59446bb69c4dd671c78cd">  209</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ab1dc6c0a4ed59446bb69c4dd671c78cd">kHaierAcYrw02ButtonHealth</a> = 0x7;</div>
<div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ad80547c526b2eba142297715c0a0636d">  210</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ad80547c526b2eba142297715c0a0636d">kHaierAcYrw02ButtonTurbo</a> = 0x8;</div>
<div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a5c7b8ff351e3d0167ec2c897c4820c40">  211</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a5c7b8ff351e3d0167ec2c897c4820c40">kHaierAcYrw02ButtonSleep</a> = 0xB;</div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160; </div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="comment">// Legacy Haier YRW02 remote defines.</span></div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_SWING_OFF kHaierAcYrw02SwingOff</span></div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_SWING_TOP kHaierAcYrw02SwingTop</span></div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_SWING_MIDDLE kHaierAcYrw02SwingMiddle</span></div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_SWING_BOTTOM kHaierAcYrw02SwingBottom</span></div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_SWING_DOWN kHaierAcYrw02SwingDown</span></div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_SWING_AUTO kHaierAcYrw02SwingAuto</span></div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_FAN_HIGH kHaierAcYrw02FanHigh</span></div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_FAN_MED kHaierAcYrw02FanMed</span></div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_FAN_LOW kHaierAcYrw02FanLow</span></div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_FAN_AUTO kHaierAcYrw02FanAuto</span></div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_TURBO_OFF kHaierAcYrw02TurboOff</span></div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_TURBO_HIGH kHaierAcYrw02TurboHigh</span></div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_TURBO_LOW kHaierAcYrw02TurboLow</span></div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_AUTO kHaierAcYrw02Auto</span></div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_COOL kHaierAcYrw02Cool</span></div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_DRY kHaierAcYrw02Dry</span></div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_HEAT kHaierAcYrw02Heat</span></div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_FAN kHaierAcYrw02Fan</span></div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_BUTTON_TEMP_UP kHaierAcYrw02ButtonTempUp</span></div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_BUTTON_TEMP_DOWN kHaierAcYrw02ButtonTempDown</span></div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_BUTTON_SWING kHaierAcYrw02ButtonSwing</span></div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_BUTTON_FAN kHaierAcYrw02ButtonFan</span></div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_BUTTON_POWER kHaierAcYrw02ButtonPower</span></div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_BUTTON_MODE kHaierAcYrw02ButtonMode</span></div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_BUTTON_HEALTH kHaierAcYrw02ButtonHealth</span></div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_BUTTON_TURBO kHaierAcYrw02ButtonTurbo</span></div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_BUTTON_SLEEP kHaierAcYrw02ButtonSleep</span></div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160; </div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="comment">// Classes</span></div>
<div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="classIRHaierAC.html">  244</a></span>&#160;<span class="comment"></span><span class="keyword">class </span><a class="code" href="classIRHaierAC.html">IRHaierAC</a> {</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classIRHaierAC.html#a0b78060cbd150cd886a409adc2dea49c">IRHaierAC</a>(<span class="keyword">const</span> uint16_t pin, <span class="keyword">const</span> <span class="keywordtype">bool</span> inverted = <span class="keyword">false</span>,</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;                     <span class="keyword">const</span> <span class="keywordtype">bool</span> use_modulation = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;<span class="preprocessor">#if SEND_HAIER_AC</span></div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#a9fe53d04965efca6daf234f20d20eb5a">send</a>(<span class="keyword">const</span> uint16_t repeat = <a class="code" href="IRremoteESP8266_8h.html#a882914932449e33933b6f8e224cbaf3c">kHaierAcDefaultRepeat</a>);</div>
<div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="classIRHaierAC.html#a448b1d5db05f7722db4758e968ea3171">  254</a></span>&#160;  int8_t <a class="code" href="classIRHaierAC.html#a448b1d5db05f7722db4758e968ea3171">calibrate</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> <a class="code" href="classIRHaierAC.html#aec69643fe633a57d635754690225fdd1">_irsend</a>.<a class="code" href="classIRsend.html#ad1776aa6c699f9eeca1eef9bb4fe355b">calibrate</a>(); }</div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;<span class="preprocessor">#endif  // SEND_HAIER_AC</span></div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#ab92fd48ccb5707cb6d14e9d46ce42e17">begin</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160; </div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#ade34c951e72a794c2ff7fa0d1595d68f">setCommand</a>(<span class="keyword">const</span> uint8_t command);</div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;  uint8_t <a class="code" href="classIRHaierAC.html#a0e9bea37c9f3a43ad205994b396d5cd2">getCommand</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160; </div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#a9fb2a375cc1b8692fe4d5dcdd765cc46">setTemp</a>(<span class="keyword">const</span> uint8_t temp);</div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;  uint8_t <a class="code" href="classIRHaierAC.html#aa6f23534e63039527bf92fc85fed2e2c">getTemp</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160; </div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#a42ee1c5889f07bf7615c8f853bca2261">setFan</a>(<span class="keyword">const</span> uint8_t speed);</div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;  uint8_t <a class="code" href="classIRHaierAC.html#a20efaa79ca7ead0b08f19a4b41c198aa">getFan</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160; </div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;  uint8_t <a class="code" href="classIRHaierAC.html#a2ddf59c6ce732c23a9898dfc6679be02">getMode</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#a3ad0317f2fd4f57d8ce61353ab3e48c7">setMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160; </div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRHaierAC.html#af88bef780a4f14f44cd7d2549f3838b3">getSleep</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#acb72b89fa53b565f9d32db4d8960f988">setSleep</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> on);</div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRHaierAC.html#aff4e7de97c375daf881249eefc1c60f8">getHealth</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#a48c9ae91809d63156eeb3889f2e908f4">setHealth</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> on);</div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160; </div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;  int16_t <a class="code" href="classIRHaierAC.html#a1c71cd51382036c4548b460a13072e91">getOnTimer</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#aa5e95aa05749f6d35dd31b021fea2f5b">setOnTimer</a>(<span class="keyword">const</span> uint16_t mins);</div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;  int16_t <a class="code" href="classIRHaierAC.html#a4760af54cbc1618b2dc4c1bf57884ebb">getOffTimer</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#aa16b36aa7ef07628343dbd2dfe5157a2">setOffTimer</a>(<span class="keyword">const</span> uint16_t mins);</div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#a1cccc733f74232751f95c32e47795638">cancelTimers</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160; </div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;  uint16_t <a class="code" href="classIRHaierAC.html#ace3a6ad8816dbf5d4a9f8595cc621b09">getCurrTime</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#a53500ebdec058d27396e5906a572fe15">setCurrTime</a>(<span class="keyword">const</span> uint16_t mins);</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160; </div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;  uint8_t <a class="code" href="classIRHaierAC.html#ac1192427f02d7f77bb88105d74fc8276">getSwing</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#a28c8bf6e0f45e074bf5eb13c25805627">setSwing</a>(<span class="keyword">const</span> uint8_t state);</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160; </div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;  uint8_t* <a class="code" href="classIRHaierAC.html#abf72eed86c2c86c4f0f5f49f6a788b82">getRaw</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#a152961e20b5a5bed2ea03cbc65d65ce9">setRaw</a>(<span class="keyword">const</span> uint8_t new_code[]);</div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classIRHaierAC.html#ad7aae554b8f0a76493efc2a43ac0f780">validChecksum</a>(uint8_t state[],</div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;                            <span class="keyword">const</span> uint16_t length = <a class="code" href="IRremoteESP8266_8h.html#afb4cd0c1a9c689d862e7095f0ab6dbe5">kHaierACStateLength</a>);</div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;  <span class="keyword">static</span> uint8_t <a class="code" href="classIRHaierAC.html#af6188dbed5cae022b4fd1eef358f594c">convertMode</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a> mode);</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;  <span class="keyword">static</span> uint8_t <a class="code" href="classIRHaierAC.html#a58628dd19a7247fc5358c0dc8c30baba">convertFan</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a> speed);</div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;  <span class="keyword">static</span> uint8_t <a class="code" href="classIRHaierAC.html#a34053c32ba50ff3b81b208d068efe2a4">convertSwingV</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#ac07f224c7bb47cac55dd01f24770ef43">stdAc::swingv_t</a> position);</div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a> <a class="code" href="classIRHaierAC.html#a4d73f75516afff0ef18bdbb7ed9c26ed">toCommonMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a> <a class="code" href="classIRHaierAC.html#ad67ee0b7299d041aad77382dde893229">toCommonFanSpeed</a>(<span class="keyword">const</span> uint8_t speed);</div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#ac07f224c7bb47cac55dd01f24770ef43">stdAc::swingv_t</a> <a class="code" href="classIRHaierAC.html#aac354e2e4ad72d91667509398078b309">toCommonSwingV</a>(<span class="keyword">const</span> uint8_t pos);</div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;  <a class="code" href="structstdAc_1_1state__t.html">stdAc::state_t</a> <a class="code" href="classIRHaierAC.html#a738de44369e3322d264c8ee78cc72ab6">toCommon</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;  <a class="code" href="IRremoteESP8266_8h.html#afbeda3fd1bdc8c37d01bdf9f5c8274ff">String</a> <a class="code" href="classIRHaierAC.html#af52b438cc7c6b0600793a0eb3c8f6419">toString</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="preprocessor">#ifndef UNIT_TEST</span></div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160; </div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="classIRHaierAC.html#aec69643fe633a57d635754690225fdd1">  302</a></span>&#160;  <a class="code" href="classIRsend.html">IRsend</a> <a class="code" href="classIRHaierAC.html#aec69643fe633a57d635754690225fdd1">_irsend</a>;  </div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="preprocessor">#else  // UNIT_TEST</span></div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;  IRsendTest <a class="code" href="classIRHaierAC.html#aec69643fe633a57d635754690225fdd1">_irsend</a>;  </div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="classIRHaierAC.html#a523b6e63f16c5f817d82bcdbf351d7e7">  308</a></span>&#160;  <a class="code" href="unionHaierProtocol.html">HaierProtocol</a> <a class="code" href="classIRHaierAC.html#a523b6e63f16c5f817d82bcdbf351d7e7">_</a>;</div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#a62fbae1d2bac01ac3a2194274aa839d9">stateReset</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#ab7faae274ff7f30bf7df3c58d6e7e210">checksum</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;};</div>
<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160; </div>
<div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="classIRHaierACYRW02.html">  314</a></span>&#160;<span class="keyword">class </span><a class="code" href="classIRHaierACYRW02.html">IRHaierACYRW02</a> {</div>
<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classIRHaierACYRW02.html#afd9354c36df33434840bbc5f38d4e7ed">IRHaierACYRW02</a>(<span class="keyword">const</span> uint16_t pin, <span class="keyword">const</span> <span class="keywordtype">bool</span> inverted = <span class="keyword">false</span>,</div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;                          <span class="keyword">const</span> <span class="keywordtype">bool</span> use_modulation = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;<span class="preprocessor">#if SEND_HAIER_AC_YRW02</span></div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#a65a5d5840dddac505b009e899a0dada7">send</a>(<span class="keyword">const</span> uint16_t repeat = <a class="code" href="IRremoteESP8266_8h.html#a62412e221207dbc2660f93dc265b4218">kHaierAcYrw02DefaultRepeat</a>);</div>
<div class="line"><a name="l00324"></a><span class="lineno"><a class="line" href="classIRHaierACYRW02.html#a2081b29d0526e339a6b94fc41c854197">  324</a></span>&#160;  int8_t <a class="code" href="classIRHaierACYRW02.html#a2081b29d0526e339a6b94fc41c854197">calibrate</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> <a class="code" href="classIRHaierACYRW02.html#a24dd00bfa5e062c5c7f459bcd60213b7">_irsend</a>.<a class="code" href="classIRsend.html#ad1776aa6c699f9eeca1eef9bb4fe355b">calibrate</a>(); }</div>
<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;<span class="preprocessor">#endif  // SEND_HAIER_AC_YRW02</span></div>
<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#addc01e60e8c4045fab6f22c852eb620f">begin</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160; </div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#aa0f1561e2446f6231f722581f5bae34d">setButton</a>(<span class="keyword">const</span> uint8_t button);</div>
<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;  uint8_t <a class="code" href="classIRHaierACYRW02.html#a58f8df6244a91d02e109b91197d535b9">getButton</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160; </div>
<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#a80170879e7bd391e360d41f18f6fa52b">setTemp</a>(<span class="keyword">const</span> uint8_t temp);</div>
<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;  uint8_t <a class="code" href="classIRHaierACYRW02.html#a29cf50881ef62c18499e81a43c717c46">getTemp</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160; </div>
<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#ae9c3a7bffc08d9d5204616823f709889">setFan</a>(<span class="keyword">const</span> uint8_t speed);</div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;  uint8_t <a class="code" href="classIRHaierACYRW02.html#a543f7d2ce346b94a7ae29d50d1189f27">getFan</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160; </div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;  uint8_t <a class="code" href="classIRHaierACYRW02.html#a36be68111465fb0161aa22cfac8cbe55">getMode</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#ae762c5f5422b4af612fa00f7c26452ed">setMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160; </div>
<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRHaierACYRW02.html#a242508ff127e27ac644c195b3d572baf">getPower</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#a32e4a52cf31b43ad96ff3d8f0f390620">setPower</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRHaierACYRW02.html#aaeb257d68235278be272e521fdec7331">on</a>);</div>
<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#aaeb257d68235278be272e521fdec7331">on</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#a9837ba26574f8bd452d616173819a9a4">off</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160; </div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRHaierACYRW02.html#afcd1dc8fbf846040ead3122d2b5ea3b7">getSleep</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#ad63834eb1a91ed974af988c385570457">setSleep</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRHaierACYRW02.html#aaeb257d68235278be272e521fdec7331">on</a>);</div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRHaierACYRW02.html#a3de686bdee579703b8203acec3353b01">getHealth</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#a79673650a2285f029a35ab69edeb0e74">setHealth</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRHaierACYRW02.html#aaeb257d68235278be272e521fdec7331">on</a>);</div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160; </div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;  uint8_t <a class="code" href="classIRHaierACYRW02.html#a0cd7297948d7dd8aafe35775cf26b543">getTurbo</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#aba5f028ee1ebf7be2d4de5a66237f01b">setTurbo</a>(<span class="keyword">const</span> uint8_t speed);</div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160; </div>
<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;  uint8_t <a class="code" href="classIRHaierACYRW02.html#aca4d95809fad3e6851bb9af20e00b520">getSwing</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#ab9152dd09dec2db522dd96778f3b1556">setSwing</a>(<span class="keyword">const</span> uint8_t pos);</div>
<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160; </div>
<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;  uint8_t* <a class="code" href="classIRHaierACYRW02.html#abca7bbe8c723551723f24f186343b764">getRaw</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#a389e711e128533c409731d2c87868c85">setRaw</a>(<span class="keyword">const</span> uint8_t new_code[]);</div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classIRHaierACYRW02.html#a3f6d071d215b0316cccc2e94c4786954">validChecksum</a>(uint8_t state[],</div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;                            <span class="keyword">const</span> uint16_t length = <a class="code" href="IRremoteESP8266_8h.html#a8f52b7d4595c117cf0b81ffbd1148cda">kHaierACYRW02StateLength</a>);</div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;  <span class="keyword">static</span> uint8_t <a class="code" href="classIRHaierACYRW02.html#a9a51f3d4b4c60ed7d99f9836a57bb3e5">convertMode</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a> mode);</div>
<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;  <span class="keyword">static</span> uint8_t <a class="code" href="classIRHaierACYRW02.html#a66e42d018f3d86b136624a347d333401">convertFan</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a> speed);</div>
<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;  <span class="keyword">static</span> uint8_t <a class="code" href="classIRHaierACYRW02.html#a1f7dffe29fbe67989b2f425d629850db">convertSwingV</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#ac07f224c7bb47cac55dd01f24770ef43">stdAc::swingv_t</a> position);</div>
<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a> <a class="code" href="classIRHaierACYRW02.html#a24007a5be360c93ec157b95c8cc06493">toCommonMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a> <a class="code" href="classIRHaierACYRW02.html#a15402e3ba2a9875d5b49f6dab3e85034">toCommonFanSpeed</a>(<span class="keyword">const</span> uint8_t speed);</div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#ac07f224c7bb47cac55dd01f24770ef43">stdAc::swingv_t</a> <a class="code" href="classIRHaierACYRW02.html#a0e426a3479fd80bb3816f016fac22f19">toCommonSwingV</a>(<span class="keyword">const</span> uint8_t pos);</div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;  <a class="code" href="structstdAc_1_1state__t.html">stdAc::state_t</a> <a class="code" href="classIRHaierACYRW02.html#a0189f929df672e9996d9c2959378d4af">toCommon</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;  <a class="code" href="IRremoteESP8266_8h.html#afbeda3fd1bdc8c37d01bdf9f5c8274ff">String</a> <a class="code" href="classIRHaierACYRW02.html#a306eae31da6256f46e0a3cb5c54711a3">toString</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="preprocessor">#ifndef UNIT_TEST</span></div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160; </div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="classIRHaierACYRW02.html#a24dd00bfa5e062c5c7f459bcd60213b7">  371</a></span>&#160;  <a class="code" href="classIRsend.html">IRsend</a> <a class="code" href="classIRHaierACYRW02.html#a24dd00bfa5e062c5c7f459bcd60213b7">_irsend</a>;  </div>
<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;<span class="preprocessor">#else  // UNIT_TEST</span></div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;  IRsendTest <a class="code" href="classIRHaierACYRW02.html#a24dd00bfa5e062c5c7f459bcd60213b7">_irsend</a>;  </div>
<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;<span class="preprocessor">#endif  // UNIT_TEST</span></div>
<div class="line"><a name="l00377"></a><span class="lineno"><a class="line" href="classIRHaierACYRW02.html#aaa31ae12544758f57f0dcd11b20fe285">  377</a></span>&#160;  <a class="code" href="unionHaierYRW02Protocol.html">HaierYRW02Protocol</a> <a class="code" href="classIRHaierACYRW02.html#aaa31ae12544758f57f0dcd11b20fe285">_</a>;</div>
<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#a106e7ffa0d69cdf976087c6e190d03ea">stateReset</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#a18045defdd5641ae13c7c75dda0cf23a">checksum</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;};</div>
<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;<span class="preprocessor">#endif  // IR_HAIER_H_</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassIRHaierACYRW02_html_a306eae31da6256f46e0a3cb5c54711a3"><div class="ttname"><a href="classIRHaierACYRW02.html#a306eae31da6256f46e0a3cb5c54711a3">IRHaierACYRW02::toString</a></div><div class="ttdeci">String toString(void) const</div><div class="ttdoc">Convert the current internal state into a human readable string.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:871</div></div>
<div class="ttc" id="air__Haier_8h_html_a447818ec7970e2ca09540afe44ecf90d"><div class="ttname"><a href="ir__Haier_8h.html#a447818ec7970e2ca09540afe44ecf90d">kHaierAcCmdFan</a></div><div class="ttdeci">const uint8_t kHaierAcCmdFan</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:76</div></div>
<div class="ttc" id="air__Haier_8h_html_aa4d9e45ca5777707778ef78a3284da19"><div class="ttname"><a href="ir__Haier_8h.html#aa4d9e45ca5777707778ef78a3284da19">kHaierAcFanHigh</a></div><div class="ttdeci">const uint8_t kHaierAcFanHigh</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:99</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_addc01e60e8c4045fab6f22c852eb620f"><div class="ttname"><a href="classIRHaierACYRW02.html#addc01e60e8c4045fab6f22c852eb620f">IRHaierACYRW02::begin</a></div><div class="ttdeci">void begin(void)</div><div class="ttdoc">Set up hardware to be able to send a message.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:532</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_a62412e221207dbc2660f93dc265b4218"><div class="ttname"><a href="IRremoteESP8266_8h.html#a62412e221207dbc2660f93dc265b4218">kHaierAcYrw02DefaultRepeat</a></div><div class="ttdeci">const uint16_t kHaierAcYrw02DefaultRepeat</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:934</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a29cf50881ef62c18499e81a43c717c46"><div class="ttname"><a href="classIRHaierACYRW02.html#a29cf50881ef62c18499e81a43c717c46">IRHaierACYRW02::getTemp</a></div><div class="ttdeci">uint8_t getTemp(void) const</div><div class="ttdoc">Get the current temperature setting.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:646</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a32e4a52cf31b43ad96ff3d8f0f390620"><div class="ttname"><a href="classIRHaierACYRW02.html#a32e4a52cf31b43ad96ff3d8f0f390620">IRHaierACYRW02::setPower</a></div><div class="ttdeci">void setPower(const bool on)</div><div class="ttdoc">Change the power setting.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:671</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a4760af54cbc1618b2dc4c1bf57884ebb"><div class="ttname"><a href="classIRHaierAC.html#a4760af54cbc1618b2dc4c1bf57884ebb">IRHaierAC::getOffTimer</a></div><div class="ttdeci">int16_t getOffTimer(void) const</div><div class="ttdoc">Get the Off Timer value/setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:267</div></div>
<div class="ttc" id="aunionHaierYRW02Protocol_html"><div class="ttname"><a href="unionHaierYRW02Protocol.html">HaierYRW02Protocol</a></div><div class="ttdef"><b>Definition:</b> ir_Haier.h:135</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a2ddf59c6ce732c23a9898dfc6679be02"><div class="ttname"><a href="classIRHaierAC.html#a2ddf59c6ce732c23a9898dfc6679be02">IRHaierAC::getMode</a></div><div class="ttdeci">uint8_t getMode(void) const</div><div class="ttdoc">Get the operating mode setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:201</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a15402e3ba2a9875d5b49f6dab3e85034"><div class="ttname"><a href="classIRHaierACYRW02.html#a15402e3ba2a9875d5b49f6dab3e85034">IRHaierACYRW02::toCommonFanSpeed</a></div><div class="ttdeci">static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)</div><div class="ttdoc">Convert a native fan speed into its stdAc equivilant.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:820</div></div>
<div class="ttc" id="air__Haier_8h_html_a35f50f043a2dda75c59507c1ed845b5d"><div class="ttname"><a href="ir__Haier_8h.html#a35f50f043a2dda75c59507c1ed845b5d">kHaierAcYrw02Fan</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02Fan</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:201</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_a882914932449e33933b6f8e224cbaf3c"><div class="ttname"><a href="IRremoteESP8266_8h.html#a882914932449e33933b6f8e224cbaf3c">kHaierAcDefaultRepeat</a></div><div class="ttdeci">const uint16_t kHaierAcDefaultRepeat</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:931</div></div>
<div class="ttc" id="air__Haier_8h_html_a65583649324c6039112e7db26d685afc"><div class="ttname"><a href="ir__Haier_8h.html#a65583649324c6039112e7db26d685afc">kHaierAcYrw02FanMed</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02FanMed</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:189</div></div>
<div class="ttc" id="air__Haier_8h_html_af65a92a0b9d29a52ac882d4457e954e8"><div class="ttname"><a href="ir__Haier_8h.html#af65a92a0b9d29a52ac882d4457e954e8">kHaierAcSwingChg</a></div><div class="ttdeci">const uint8_t kHaierAcSwingChg</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:88</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a28c8bf6e0f45e074bf5eb13c25805627"><div class="ttname"><a href="classIRHaierAC.html#a28c8bf6e0f45e074bf5eb13c25805627">IRHaierAC::setSwing</a></div><div class="ttdeci">void setSwing(const uint8_t state)</div><div class="ttdoc">Set the Vertical Swing mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:318</div></div>
<div class="ttc" id="aunionHaierYRW02Protocol_html_a19211a1af7d11da6034b87cb7a042fcd"><div class="ttname"><a href="unionHaierYRW02Protocol.html#a19211a1af7d11da6034b87cb7a042fcd">HaierYRW02Protocol::Temp</a></div><div class="ttdeci">uint8_t Temp</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:142</div></div>
<div class="ttc" id="air__Haier_8h_html_ac33a02f63ee77e0d3050598511730865"><div class="ttname"><a href="ir__Haier_8h.html#ac33a02f63ee77e0d3050598511730865">kHaierAcAuto</a></div><div class="ttdeci">const uint8_t kHaierAcAuto</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:90</div></div>
<div class="ttc" id="air__Haier_8h_html_ad80547c526b2eba142297715c0a0636d"><div class="ttname"><a href="ir__Haier_8h.html#ad80547c526b2eba142297715c0a0636d">kHaierAcYrw02ButtonTurbo</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02ButtonTurbo</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:210</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a2081b29d0526e339a6b94fc41c854197"><div class="ttname"><a href="classIRHaierACYRW02.html#a2081b29d0526e339a6b94fc41c854197">IRHaierACYRW02::calibrate</a></div><div class="ttdeci">int8_t calibrate(void)</div><div class="ttdoc">Run the calibration to calculate uSec timing offsets for this platform.</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:324</div></div>
<div class="ttc" id="anamespacestdAc_html_ac07f224c7bb47cac55dd01f24770ef43"><div class="ttname"><a href="namespacestdAc.html#ac07f224c7bb47cac55dd01f24770ef43">stdAc::swingv_t</a></div><div class="ttdeci">swingv_t</div><div class="ttdoc">Common A/C settings for Vertical Swing.</div><div class="ttdef"><b>Definition:</b> IRsend.h:70</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a24dd00bfa5e062c5c7f459bcd60213b7"><div class="ttname"><a href="classIRHaierACYRW02.html#a24dd00bfa5e062c5c7f459bcd60213b7">IRHaierACYRW02::_irsend</a></div><div class="ttdeci">IRsend _irsend</div><div class="ttdoc">Instance of the IR send class.</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:371</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_afb4cd0c1a9c689d862e7095f0ab6dbe5"><div class="ttname"><a href="IRremoteESP8266_8h.html#afb4cd0c1a9c689d862e7095f0ab6dbe5">kHaierACStateLength</a></div><div class="ttdeci">const uint16_t kHaierACStateLength</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:929</div></div>
<div class="ttc" id="air__Haier_8h_html_aecc31139b4e45a7784669554c6fdbb54"><div class="ttname"><a href="ir__Haier_8h.html#aecc31139b4e45a7784669554c6fdbb54">kHaierAcCmdTempDown</a></div><div class="ttdeci">const uint8_t kHaierAcCmdTempDown</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:78</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a152961e20b5a5bed2ea03cbc65d65ce9"><div class="ttname"><a href="classIRHaierAC.html#a152961e20b5a5bed2ea03cbc65d65ce9">IRHaierAC::setRaw</a></div><div class="ttdeci">void setRaw(const uint8_t new_code[])</div><div class="ttdoc">Set the internal state from a valid code for this protocol.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:133</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a62fbae1d2bac01ac3a2194274aa839d9"><div class="ttname"><a href="classIRHaierAC.html#a62fbae1d2bac01ac3a2194274aa839d9">IRHaierAC::stateReset</a></div><div class="ttdeci">void stateReset(void)</div><div class="ttdoc">Reset the internal state to a fixed known good state.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:114</div></div>
<div class="ttc" id="aunionHaierProtocol_html_afc7ba334ae13911868d90c2fe37813b9"><div class="ttname"><a href="unionHaierProtocol.html#afc7ba334ae13911868d90c2fe37813b9">HaierProtocol::Swing</a></div><div class="ttdeci">uint8_t Swing</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:42</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a3de686bdee579703b8203acec3353b01"><div class="ttname"><a href="classIRHaierACYRW02.html#a3de686bdee579703b8203acec3353b01">IRHaierACYRW02::getHealth</a></div><div class="ttdeci">bool getHealth(void) const</div><div class="ttdoc">Get the Health (filter) setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:659</div></div>
<div class="ttc" id="air__Haier_8h_html_a4543aa4ee28323bb9cb5c077f9bf9da1"><div class="ttname"><a href="ir__Haier_8h.html#a4543aa4ee28323bb9cb5c077f9bf9da1">kHaierAcCmdMode</a></div><div class="ttdeci">const uint8_t kHaierAcCmdMode</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:75</div></div>
<div class="ttc" id="anamespacestdAc_html_a8bb0dbf18fe69f639f4ac0b3ff133383"><div class="ttname"><a href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a></div><div class="ttdeci">fanspeed_t</div><div class="ttdoc">Common A/C settings for Fan Speeds.</div><div class="ttdef"><b>Definition:</b> IRsend.h:58</div></div>
<div class="ttc" id="air__Haier_8h_html_ab1dc6c0a4ed59446bb69c4dd671c78cd"><div class="ttname"><a href="ir__Haier_8h.html#ab1dc6c0a4ed59446bb69c4dd671c78cd">kHaierAcYrw02ButtonHealth</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02ButtonHealth</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:209</div></div>
<div class="ttc" id="aclassIRHaierAC_html_ace3a6ad8816dbf5d4a9f8595cc621b09"><div class="ttname"><a href="classIRHaierAC.html#ace3a6ad8816dbf5d4a9f8595cc621b09">IRHaierAC::getCurrTime</a></div><div class="ttdeci">uint16_t getCurrTime(void) const</div><div class="ttdoc">Get the clock value of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:277</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a42ee1c5889f07bf7615c8f853bca2261"><div class="ttname"><a href="classIRHaierAC.html#a42ee1c5889f07bf7615c8f853bca2261">IRHaierAC::setFan</a></div><div class="ttdeci">void setFan(const uint8_t speed)</div><div class="ttdoc">Set the speed of the fan.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:164</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_aaeb257d68235278be272e521fdec7331"><div class="ttname"><a href="classIRHaierACYRW02.html#aaeb257d68235278be272e521fdec7331">IRHaierACYRW02::on</a></div><div class="ttdeci">void on(void)</div><div class="ttdoc">Change the power setting to On.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:677</div></div>
<div class="ttc" id="air__Haier_8h_html_abe52b62dd513395f2a8c7d47fa2fc514"><div class="ttname"><a href="ir__Haier_8h.html#abe52b62dd513395f2a8c7d47fa2fc514">kHaierAcCmdSleep</a></div><div class="ttdeci">const uint8_t kHaierAcCmdSleep</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:79</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_aaa31ae12544758f57f0dcd11b20fe285"><div class="ttname"><a href="classIRHaierACYRW02.html#aaa31ae12544758f57f0dcd11b20fe285">IRHaierACYRW02::_</a></div><div class="ttdeci">HaierYRW02Protocol _</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:377</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a58628dd19a7247fc5358c0dc8c30baba"><div class="ttname"><a href="classIRHaierAC.html#a58628dd19a7247fc5358c0dc8c30baba">IRHaierAC::convertFan</a></div><div class="ttdeci">static uint8_t convertFan(const stdAc::fanspeed_t speed)</div><div class="ttdoc">Convert a stdAc::fanspeed_t enum into it's native speed.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:347</div></div>
<div class="ttc" id="aunionHaierProtocol_html_a6c15a8e22231dae23ffa8bef78420054"><div class="ttname"><a href="unionHaierProtocol.html#a6c15a8e22231dae23ffa8bef78420054">HaierProtocol::Prefix</a></div><div class="ttdeci">uint8_t Prefix</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:35</div></div>
<div class="ttc" id="aclassIRHaierAC_html_aa6f23534e63039527bf92fc85fed2e2c"><div class="ttname"><a href="classIRHaierAC.html#aa6f23534e63039527bf92fc85fed2e2c">IRHaierAC::getTemp</a></div><div class="ttdeci">uint8_t getTemp(void) const</div><div class="ttdoc">Get the current temperature setting.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:225</div></div>
<div class="ttc" id="aunionHaierProtocol_html_affb6ef60b50ae3351393e3f168ae8f2f"><div class="ttname"><a href="unionHaierProtocol.html#affb6ef60b50ae3351393e3f168ae8f2f">HaierProtocol::Temp</a></div><div class="ttdeci">uint8_t Temp</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:38</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a20efaa79ca7ead0b08f19a4b41c198aa"><div class="ttname"><a href="classIRHaierAC.html#a20efaa79ca7ead0b08f19a4b41c198aa">IRHaierAC::getFan</a></div><div class="ttdeci">uint8_t getFan(void) const</div><div class="ttdoc">Get the current fan speed setting.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:180</div></div>
<div class="ttc" id="aunionHaierProtocol_html_ae5c9fd1397bcf3c6737c38d8e76682b1"><div class="ttname"><a href="unionHaierProtocol.html#ae5c9fd1397bcf3c6737c38d8e76682b1">HaierProtocol::OnTimer</a></div><div class="ttdeci">uint8_t OnTimer</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:46</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a24007a5be360c93ec157b95c8cc06493"><div class="ttname"><a href="classIRHaierACYRW02.html#a24007a5be360c93ec157b95c8cc06493">IRHaierACYRW02::toCommonMode</a></div><div class="ttdeci">static stdAc::opmode_t toCommonMode(const uint8_t mode)</div><div class="ttdoc">Convert a native mode into its stdAc equivilant.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:807</div></div>
<div class="ttc" id="air__Haier_8h_html_aa025eeba1c344c50cc98334c97a3c174"><div class="ttname"><a href="ir__Haier_8h.html#aa025eeba1c344c50cc98334c97a3c174">kHaierAcYrw02Auto</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02Auto</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:197</div></div>
<div class="ttc" id="aclassIRHaierAC_html_abf72eed86c2c86c4f0f5f49f6a788b82"><div class="ttname"><a href="classIRHaierAC.html#abf72eed86c2c86c4f0f5f49f6a788b82">IRHaierAC::getRaw</a></div><div class="ttdeci">uint8_t * getRaw(void)</div><div class="ttdoc">Get a PTR to the internal state/code for this protocol.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:126</div></div>
<div class="ttc" id="air__Haier_8h_html_afab164c2aabf39fdc1e956ff88af19d9"><div class="ttname"><a href="ir__Haier_8h.html#afab164c2aabf39fdc1e956ff88af19d9">kHaierAcCmdSwing</a></div><div class="ttdeci">const uint8_t kHaierAcCmdSwing</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:83</div></div>
<div class="ttc" id="air__Haier_8h_html_ac62d0f7ca94e064712f8a7a80da2f11e"><div class="ttname"><a href="ir__Haier_8h.html#ac62d0f7ca94e064712f8a7a80da2f11e">kHaierAcYrw02Prefix</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02Prefix</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:179</div></div>
<div class="ttc" id="aclassIRHaierAC_html_acb72b89fa53b565f9d32db4d8960f988"><div class="ttname"><a href="classIRHaierAC.html#acb72b89fa53b565f9d32db4d8960f988">IRHaierAC::setSleep</a></div><div class="ttdeci">void setSleep(const bool on)</div><div class="ttdoc">Set the Sleep setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:244</div></div>
<div class="ttc" id="air__Haier_8h_html_adf10f1bc1b293c684232cb6398631f70"><div class="ttname"><a href="ir__Haier_8h.html#adf10f1bc1b293c684232cb6398631f70">kHaierAcYrw02SwingTop</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02SwingTop</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:182</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a0cd7297948d7dd8aafe35775cf26b543"><div class="ttname"><a href="classIRHaierACYRW02.html#a0cd7297948d7dd8aafe35775cf26b543">IRHaierACYRW02::getTurbo</a></div><div class="ttdeci">uint8_t getTurbo(void) const</div><div class="ttdoc">Get the Turbo setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:697</div></div>
<div class="ttc" id="aunionHaierProtocol_html_a70abde8bccafd39cf1a1506f63481893"><div class="ttname"><a href="unionHaierProtocol.html#a70abde8bccafd39cf1a1506f63481893">HaierProtocol::CurrMins</a></div><div class="ttdeci">uint8_t CurrMins</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:44</div></div>
<div class="ttc" id="aIRsend_8h_html"><div class="ttname"><a href="IRsend_8h.html">IRsend.h</a></div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a36be68111465fb0161aa22cfac8cbe55"><div class="ttname"><a href="classIRHaierACYRW02.html#a36be68111465fb0161aa22cfac8cbe55">IRHaierACYRW02::getMode</a></div><div class="ttdeci">uint8_t getMode(void) const</div><div class="ttdoc">Get the operating mode setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:622</div></div>
<div class="ttc" id="aunionHaierYRW02Protocol_html_aa1607ceff9c90cbb78e446a98eb0fe52"><div class="ttname"><a href="unionHaierYRW02Protocol.html#aa1607ceff9c90cbb78e446a98eb0fe52">HaierYRW02Protocol::raw</a></div><div class="ttdeci">uint8_t raw[kHaierACYRW02StateLength]</div><div class="ttdoc">The state in native form.</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:136</div></div>
<div class="ttc" id="aunionHaierProtocol_html_aab10d402084329d472e08385cc9645ec"><div class="ttname"><a href="unionHaierProtocol.html#aab10d402084329d472e08385cc9645ec">HaierProtocol::Mode</a></div><div class="ttdeci">uint8_t Mode</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:56</div></div>
<div class="ttc" id="aunionHaierYRW02Protocol_html_ae87a93806911792662391a671607a760"><div class="ttname"><a href="unionHaierYRW02Protocol.html#ae87a93806911792662391a671607a760">HaierYRW02Protocol::Power</a></div><div class="ttdeci">uint8_t Power</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:151</div></div>
<div class="ttc" id="aclassIRHaierAC_html_af52b438cc7c6b0600793a0eb3c8f6419"><div class="ttname"><a href="classIRHaierAC.html#af52b438cc7c6b0600793a0eb3c8f6419">IRHaierAC::toString</a></div><div class="ttdeci">String toString(void) const</div><div class="ttdoc">Convert the current internal state into a human readable string.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:439</div></div>
<div class="ttc" id="air__Haier_8h_html_a9bd7c081d460a4ae5e3eac977f3916e4"><div class="ttname"><a href="ir__Haier_8h.html#a9bd7c081d460a4ae5e3eac977f3916e4">kHaierAcCmdTimerSet</a></div><div class="ttdeci">const uint8_t kHaierAcCmdTimerSet</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:80</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a3ad0317f2fd4f57d8ce61353ab3e48c7"><div class="ttname"><a href="classIRHaierAC.html#a3ad0317f2fd4f57d8ce61353ab3e48c7">IRHaierAC::setMode</a></div><div class="ttdeci">void setMode(const uint8_t mode)</div><div class="ttdoc">Set the operating mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:191</div></div>
<div class="ttc" id="air__Haier_8h_html_aab5363f07920971c31d6acf8e70d392c"><div class="ttname"><a href="ir__Haier_8h.html#aab5363f07920971c31d6acf8e70d392c">kHaierAcCmdTempUp</a></div><div class="ttdeci">const uint8_t kHaierAcCmdTempUp</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:77</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a1cccc733f74232751f95c32e47795638"><div class="ttname"><a href="classIRHaierAC.html#a1cccc733f74232751f95c32e47795638">IRHaierAC::cancelTimers</a></div><div class="ttdeci">void cancelTimers(void)</div><div class="ttdoc">Cancel/disable the On &amp; Off timers.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:298</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a106e7ffa0d69cdf976087c6e190d03ea"><div class="ttname"><a href="classIRHaierACYRW02.html#a106e7ffa0d69cdf976087c6e190d03ea">IRHaierACYRW02::stateReset</a></div><div class="ttdeci">void stateReset(void)</div><div class="ttdoc">Reset the internal state to a fixed known good state.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:557</div></div>
<div class="ttc" id="aclassIRsend_html"><div class="ttname"><a href="classIRsend.html">IRsend</a></div><div class="ttdoc">Class for sending all basic IR protocols.</div><div class="ttdef"><b>Definition:</b> IRsend.h:176</div></div>
<div class="ttc" id="aclassIRHaierAC_html_aec69643fe633a57d635754690225fdd1"><div class="ttname"><a href="classIRHaierAC.html#aec69643fe633a57d635754690225fdd1">IRHaierAC::_irsend</a></div><div class="ttdeci">IRsend _irsend</div><div class="ttdoc">Instance of the IR send class.</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:302</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_ab9152dd09dec2db522dd96778f3b1556"><div class="ttname"><a href="classIRHaierACYRW02.html#ab9152dd09dec2db522dd96778f3b1556">IRHaierACYRW02::setSwing</a></div><div class="ttdeci">void setSwing(const uint8_t pos)</div><div class="ttdoc">Set the Vertical Swing mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:742</div></div>
<div class="ttc" id="aclassIRHaierAC_html_af6188dbed5cae022b4fd1eef358f594c"><div class="ttname"><a href="classIRHaierAC.html#af6188dbed5cae022b4fd1eef358f594c">IRHaierAC::convertMode</a></div><div class="ttdeci">static uint8_t convertMode(const stdAc::opmode_t mode)</div><div class="ttdoc">Convert a stdAc::opmode_t enum into its native mode.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:334</div></div>
<div class="ttc" id="aclassIRsend_html_ad1776aa6c699f9eeca1eef9bb4fe355b"><div class="ttname"><a href="classIRsend.html#ad1776aa6c699f9eeca1eef9bb4fe355b">IRsend::calibrate</a></div><div class="ttdeci">int8_t calibrate(uint16_t hz=38000U)</div><div class="ttdoc">Calculate &amp; set any offsets to account for execution times during sending.</div><div class="ttdef"><b>Definition:</b> IRsend.cpp:207</div></div>
<div class="ttc" id="air__Haier_8h_html_ae31e878b09284a6730a11e2017cfd7a8"><div class="ttname"><a href="ir__Haier_8h.html#ae31e878b09284a6730a11e2017cfd7a8">kHaierAcFanLow</a></div><div class="ttdeci">const uint8_t kHaierAcFanLow</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:97</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_aca4d95809fad3e6851bb9af20e00b520"><div class="ttname"><a href="classIRHaierACYRW02.html#aca4d95809fad3e6851bb9af20e00b520">IRHaierACYRW02::getSwing</a></div><div class="ttdeci">uint8_t getSwing(void) const</div><div class="ttdoc">Get the Vertical Swing position setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:736</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_afbeda3fd1bdc8c37d01bdf9f5c8274ff"><div class="ttname"><a href="IRremoteESP8266_8h.html#afbeda3fd1bdc8c37d01bdf9f5c8274ff">String</a></div><div class="ttdeci">std::string String</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:1148</div></div>
<div class="ttc" id="aclassIRHaierAC_html_aff4e7de97c375daf881249eefc1c60f8"><div class="ttname"><a href="classIRHaierAC.html#aff4e7de97c375daf881249eefc1c60f8">IRHaierAC::getHealth</a></div><div class="ttdeci">bool getHealth(void) const</div><div class="ttdoc">Get the Health (filter) setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:238</div></div>
<div class="ttc" id="air__Haier_8h_html_a5c7b8ff351e3d0167ec2c897c4820c40"><div class="ttname"><a href="ir__Haier_8h.html#a5c7b8ff351e3d0167ec2c897c4820c40">kHaierAcYrw02ButtonSleep</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02ButtonSleep</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:211</div></div>
<div class="ttc" id="air__Haier_8h_html_a8502c9bea40205e01e6a01b47354272a"><div class="ttname"><a href="ir__Haier_8h.html#a8502c9bea40205e01e6a01b47354272a">kHaierAcPrefix</a></div><div class="ttdeci">const uint8_t kHaierAcPrefix</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:68</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_a8f52b7d4595c117cf0b81ffbd1148cda"><div class="ttname"><a href="IRremoteESP8266_8h.html#a8f52b7d4595c117cf0b81ffbd1148cda">kHaierACYRW02StateLength</a></div><div class="ttdeci">const uint16_t kHaierACYRW02StateLength</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:932</div></div>
<div class="ttc" id="aunionHaierYRW02Protocol_html_af55185fad3229f2011b5917412ad8c1b"><div class="ttname"><a href="unionHaierYRW02Protocol.html#af55185fad3229f2011b5917412ad8c1b">HaierYRW02Protocol::Prefix</a></div><div class="ttdeci">uint8_t Prefix</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:139</div></div>
<div class="ttc" id="aclassIRHaierAC_html_aa5e95aa05749f6d35dd31b021fea2f5b"><div class="ttname"><a href="classIRHaierAC.html#aa5e95aa05749f6d35dd31b021fea2f5b">IRHaierAC::setOnTimer</a></div><div class="ttdeci">void setOnTimer(const uint16_t mins)</div><div class="ttdoc">Set &amp; enable the On Timer.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:281</div></div>
<div class="ttc" id="aunionHaierYRW02Protocol_html_a0b0ad77222892e9fccf122fcee95d87d"><div class="ttname"><a href="unionHaierYRW02Protocol.html#a0b0ad77222892e9fccf122fcee95d87d">HaierYRW02Protocol::Sleep</a></div><div class="ttdeci">uint8_t Sleep</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:164</div></div>
<div class="ttc" id="air__Haier_8h_html_ac21f78c3cef931154b3fc953bbebc3b4"><div class="ttname"><a href="ir__Haier_8h.html#ac21f78c3cef931154b3fc953bbebc3b4">kHaierAcSwingOff</a></div><div class="ttdeci">const uint8_t kHaierAcSwingOff</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:85</div></div>
<div class="ttc" id="air__Haier_8h_html_a2cf3a2102c6d4f9aede44efe853ffaa8"><div class="ttname"><a href="ir__Haier_8h.html#a2cf3a2102c6d4f9aede44efe853ffaa8">kHaierAcSwingDown</a></div><div class="ttdeci">const uint8_t kHaierAcSwingDown</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:87</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a242508ff127e27ac644c195b3d572baf"><div class="ttname"><a href="classIRHaierACYRW02.html#a242508ff127e27ac644c195b3d572baf">IRHaierACYRW02::getPower</a></div><div class="ttdeci">bool getPower(void) const</div><div class="ttdoc">Get the value of the current power setting.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:665</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html"><div class="ttname"><a href="IRremoteESP8266_8h.html">IRremoteESP8266.h</a></div></div>
<div class="ttc" id="air__Haier_8h_html_ab47bc48ac77fbf6734a41d10f0a53e4a"><div class="ttname"><a href="ir__Haier_8h.html#ab47bc48ac77fbf6734a41d10f0a53e4a">kHaierAcYrw02FanHigh</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02FanHigh</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:188</div></div>
<div class="ttc" id="air__Haier_8h_html_af4049629b2139ca82471dfed1e1ced15"><div class="ttname"><a href="ir__Haier_8h.html#af4049629b2139ca82471dfed1e1ced15">kHaierAcFan</a></div><div class="ttdeci">const uint8_t kHaierAcFan</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:94</div></div>
<div class="ttc" id="air__Haier_8h_html_a9a0a14ab98e1e52b60b9b9bf611c20cc"><div class="ttname"><a href="ir__Haier_8h.html#a9a0a14ab98e1e52b60b9b9bf611c20cc">kHaierAcYrw02FanLow</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02FanLow</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:190</div></div>
<div class="ttc" id="aunionHaierProtocol_html_a44e6a58782f4c6d5e532c715e9050b5b"><div class="ttname"><a href="unionHaierProtocol.html#a44e6a58782f4c6d5e532c715e9050b5b">HaierProtocol::Fan</a></div><div class="ttdeci">uint8_t Fan</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:53</div></div>
<div class="ttc" id="air__Haier_8h_html_a95ae88223d910d4d966949241bccff8d"><div class="ttname"><a href="ir__Haier_8h.html#a95ae88223d910d4d966949241bccff8d">kHaierAcYrw02SwingAuto</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02SwingAuto</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:186</div></div>
<div class="ttc" id="air__Haier_8h_html_a83cd81ea1115f42a403ea5ee07a32bbb"><div class="ttname"><a href="ir__Haier_8h.html#a83cd81ea1115f42a403ea5ee07a32bbb">kHaierAcCool</a></div><div class="ttdeci">const uint8_t kHaierAcCool</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:91</div></div>
<div class="ttc" id="aunionHaierYRW02Protocol_html_a1cea874c8398b49e704ba0943284c64a"><div class="ttname"><a href="unionHaierYRW02Protocol.html#a1cea874c8398b49e704ba0943284c64a">HaierYRW02Protocol::Turbo</a></div><div class="ttdeci">uint8_t Turbo</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:158</div></div>
<div class="ttc" id="air__Haier_8h_html_a86c9e8176fc01e52e883cadcc1d31763"><div class="ttname"><a href="ir__Haier_8h.html#a86c9e8176fc01e52e883cadcc1d31763">kHaierAcDefTemp</a></div><div class="ttdeci">const uint8_t kHaierAcDefTemp</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:71</div></div>
<div class="ttc" id="aunionHaierYRW02Protocol_html_a8b9060ce2e0b1e9192191e6ae68277dd"><div class="ttname"><a href="unionHaierYRW02Protocol.html#a8b9060ce2e0b1e9192191e6ae68277dd">HaierYRW02Protocol::Mode</a></div><div class="ttdeci">uint8_t Mode</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:161</div></div>
<div class="ttc" id="air__Haier_8h_html_a62570c15418cf24a94c92b162967f892"><div class="ttname"><a href="ir__Haier_8h.html#a62570c15418cf24a94c92b162967f892">kHaierAcYrw02SwingOff</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02SwingOff</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:181</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a34053c32ba50ff3b81b208d068efe2a4"><div class="ttname"><a href="classIRHaierAC.html#a34053c32ba50ff3b81b208d068efe2a4">IRHaierAC::convertSwingV</a></div><div class="ttdeci">static uint8_t convertSwingV(const stdAc::swingv_t position)</div><div class="ttdoc">Convert a stdAc::swingv_t enum into it's native setting.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:361</div></div>
<div class="ttc" id="aclassIRHaierAC_html_af88bef780a4f14f44cd7d2549f3838b3"><div class="ttname"><a href="classIRHaierAC.html#af88bef780a4f14f44cd7d2549f3838b3">IRHaierAC::getSleep</a></div><div class="ttdeci">bool getSleep(void) const</div><div class="ttdoc">Get the Sleep setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:251</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_ae9c3a7bffc08d9d5204616823f709889"><div class="ttname"><a href="classIRHaierACYRW02.html#ae9c3a7bffc08d9d5204616823f709889">IRHaierACYRW02::setFan</a></div><div class="ttdeci">void setFan(const uint8_t speed)</div><div class="ttdoc">Set the speed of the fan.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:723</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a48c9ae91809d63156eeb3889f2e908f4"><div class="ttname"><a href="classIRHaierAC.html#a48c9ae91809d63156eeb3889f2e908f4">IRHaierAC::setHealth</a></div><div class="ttdeci">void setHealth(const bool on)</div><div class="ttdoc">Set the Health (filter) setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:231</div></div>
<div class="ttc" id="air__Haier_8h_html_a3b24373f9c812f93eca05ee47e61d6e0"><div class="ttname"><a href="ir__Haier_8h.html#a3b24373f9c812f93eca05ee47e61d6e0">kHaierAcYrw02ButtonTempUp</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02ButtonTempUp</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:203</div></div>
<div class="ttc" id="aunionHaierYRW02Protocol_html_a671ff83501bd3e6f6e5c2b08bb6d26d1"><div class="ttname"><a href="unionHaierYRW02Protocol.html#a671ff83501bd3e6f6e5c2b08bb6d26d1">HaierYRW02Protocol::Swing</a></div><div class="ttdeci">uint8_t Swing</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:141</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a9837ba26574f8bd452d616173819a9a4"><div class="ttname"><a href="classIRHaierACYRW02.html#a9837ba26574f8bd452d616173819a9a4">IRHaierACYRW02::off</a></div><div class="ttdeci">void off(void)</div><div class="ttdoc">Change the power setting to Off.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:680</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a79673650a2285f029a35ab69edeb0e74"><div class="ttname"><a href="classIRHaierACYRW02.html#a79673650a2285f029a35ab69edeb0e74">IRHaierACYRW02::setHealth</a></div><div class="ttdeci">void setHealth(const bool on)</div><div class="ttdoc">Set the Health (filter) setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:652</div></div>
<div class="ttc" id="air__Haier_8h_html_aafd2a4f38ecf78482a5a94e9c6c23f1c"><div class="ttname"><a href="ir__Haier_8h.html#aafd2a4f38ecf78482a5a94e9c6c23f1c">kHaierAcMinTemp</a></div><div class="ttdeci">const uint8_t kHaierAcMinTemp</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:70</div></div>
<div class="ttc" id="air__Haier_8h_html_aab380411ac07b2b7f67956a5bbc362fb"><div class="ttname"><a href="ir__Haier_8h.html#aab380411ac07b2b7f67956a5bbc362fb">kHaierAcYrw02SwingDown</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02SwingDown</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:185</div></div>
<div class="ttc" id="aclassIRHaierAC_html_ad7aae554b8f0a76493efc2a43ac0f780"><div class="ttname"><a href="classIRHaierAC.html#ad7aae554b8f0a76493efc2a43ac0f780">IRHaierAC::validChecksum</a></div><div class="ttdeci">static bool validChecksum(uint8_t state[], const uint16_t length=kHaierACStateLength)</div><div class="ttdoc">Verify the checksum is valid for a given state.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:108</div></div>
<div class="ttc" id="aclassIRHaierAC_html_ac1192427f02d7f77bb88105d74fc8276"><div class="ttname"><a href="classIRHaierAC.html#ac1192427f02d7f77bb88105d74fc8276">IRHaierAC::getSwing</a></div><div class="ttdeci">uint8_t getSwing(void) const</div><div class="ttdoc">Get the Vertical Swing position setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:312</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a523b6e63f16c5f817d82bcdbf351d7e7"><div class="ttname"><a href="classIRHaierAC.html#a523b6e63f16c5f817d82bcdbf351d7e7">IRHaierAC::_</a></div><div class="ttdeci">HaierProtocol _</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:308</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a18045defdd5641ae13c7c75dda0cf23a"><div class="ttname"><a href="classIRHaierACYRW02.html#a18045defdd5641ae13c7c75dda0cf23a">IRHaierACYRW02::checksum</a></div><div class="ttdeci">void checksum(void)</div><div class="ttdoc">Calculate and set the checksum values for the internal state.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:543</div></div>
<div class="ttc" id="aunionHaierProtocol_html_a4cf70c633e33066e3fc0f98bb2ad3820"><div class="ttname"><a href="unionHaierProtocol.html#a4cf70c633e33066e3fc0f98bb2ad3820">HaierProtocol::Health</a></div><div class="ttdeci">uint8_t Health</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:49</div></div>
<div class="ttc" id="air__Haier_8h_html_a83cd0b5f307d9ae3ed0a3c6ed8fef94d"><div class="ttname"><a href="ir__Haier_8h.html#a83cd0b5f307d9ae3ed0a3c6ed8fef94d">kHaierAcCmdHealth</a></div><div class="ttdeci">const uint8_t kHaierAcCmdHealth</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:82</div></div>
<div class="ttc" id="aunionHaierProtocol_html_aabc2a684c5936858544c02ec8a68afb9"><div class="ttname"><a href="unionHaierProtocol.html#aabc2a684c5936858544c02ec8a68afb9">HaierProtocol::unknown</a></div><div class="ttdeci">uint8_t unknown</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:41</div></div>
<div class="ttc" id="aunionHaierProtocol_html_a093d2441856e448462551ac7bc1b8d9b"><div class="ttname"><a href="unionHaierProtocol.html#a093d2441856e448462551ac7bc1b8d9b">HaierProtocol::CurrHours</a></div><div class="ttdeci">uint8_t CurrHours</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:40</div></div>
<div class="ttc" id="aunionHaierProtocol_html_af8966fa819bcb51f496ec185130bcf0f"><div class="ttname"><a href="unionHaierProtocol.html#af8966fa819bcb51f496ec185130bcf0f">HaierProtocol::remote_state</a></div><div class="ttdeci">uint8_t remote_state[kHaierACStateLength]</div><div class="ttdoc">&lt; The state in native IR code form</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:32</div></div>
<div class="ttc" id="air__Haier_8h_html_a83973c2ad2b7b95611c81628c387e0d8"><div class="ttname"><a href="ir__Haier_8h.html#a83973c2ad2b7b95611c81628c387e0d8">kHaierAcCmdOn</a></div><div class="ttdeci">const uint8_t kHaierAcCmdOn</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:74</div></div>
<div class="ttc" id="air__Haier_8h_html_a32d6dd98a050711bf928bf250b769839"><div class="ttname"><a href="ir__Haier_8h.html#a32d6dd98a050711bf928bf250b769839">kHaierAcYrw02SwingMiddle</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02SwingMiddle</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:183</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a543f7d2ce346b94a7ae29d50d1189f27"><div class="ttname"><a href="classIRHaierACYRW02.html#a543f7d2ce346b94a7ae29d50d1189f27">IRHaierACYRW02::getFan</a></div><div class="ttdeci">uint8_t getFan(void) const</div><div class="ttdoc">Get the current fan speed setting.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:717</div></div>
<div class="ttc" id="air__Haier_8h_html_aa10c558317448783535e96be5876505c"><div class="ttname"><a href="ir__Haier_8h.html#aa10c558317448783535e96be5876505c">kHaierAcYrw02ButtonSwing</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02ButtonSwing</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:205</div></div>
<div class="ttc" id="air__Haier_8h_html_a19b7f4aee8115eb77267c415d8b3bd82"><div class="ttname"><a href="ir__Haier_8h.html#a19b7f4aee8115eb77267c415d8b3bd82">kHaierAcYrw02TurboLow</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02TurboLow</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:195</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_abca7bbe8c723551723f24f186343b764"><div class="ttname"><a href="classIRHaierACYRW02.html#abca7bbe8c723551723f24f186343b764">IRHaierACYRW02::getRaw</a></div><div class="ttdeci">uint8_t * getRaw(void)</div><div class="ttdoc">Get a PTR to the internal state/code for this protocol.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:570</div></div>
<div class="ttc" id="air__Haier_8h_html_a5dfa833768e549964aa0bf8a336c32b0"><div class="ttname"><a href="ir__Haier_8h.html#a5dfa833768e549964aa0bf8a336c32b0">kHaierAcFanMed</a></div><div class="ttdeci">const uint8_t kHaierAcFanMed</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:98</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_ad63834eb1a91ed974af988c385570457"><div class="ttname"><a href="classIRHaierACYRW02.html#ad63834eb1a91ed974af988c385570457">IRHaierACYRW02::setSleep</a></div><div class="ttdeci">void setSleep(const bool on)</div><div class="ttdoc">Set the Sleep setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:690</div></div>
<div class="ttc" id="air__Haier_8h_html_aa06ba46287b5806a6373e921cee34a51"><div class="ttname"><a href="ir__Haier_8h.html#aa06ba46287b5806a6373e921cee34a51">kHaierAcYrw02TurboOff</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02TurboOff</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:193</div></div>
<div class="ttc" id="aunionHaierYRW02Protocol_html_a7fa39803fd72a788736bb8f00acfa76f"><div class="ttname"><a href="unionHaierYRW02Protocol.html#a7fa39803fd72a788736bb8f00acfa76f">HaierYRW02Protocol::Health</a></div><div class="ttdeci">uint8_t Health</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:147</div></div>
<div class="ttc" id="air__Haier_8h_html_af4a9e5f7f705c331531ea2863dbbd11d"><div class="ttname"><a href="ir__Haier_8h.html#af4a9e5f7f705c331531ea2863dbbd11d">kHaierAcYrw02ButtonTempDown</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02ButtonTempDown</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:204</div></div>
<div class="ttc" id="aclassIRHaierAC_html"><div class="ttname"><a href="classIRHaierAC.html">IRHaierAC</a></div><div class="ttdoc">Class for handling detailed Haier A/C messages.</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:244</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a80170879e7bd391e360d41f18f6fa52b"><div class="ttname"><a href="classIRHaierACYRW02.html#a80170879e7bd391e360d41f18f6fa52b">IRHaierACYRW02::setTemp</a></div><div class="ttdeci">void setTemp(const uint8_t temp)</div><div class="ttdoc">Set the temperature.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:628</div></div>
<div class="ttc" id="aunionHaierProtocol_html_a65fe65bdfb819fec434eba573daccc34"><div class="ttname"><a href="unionHaierProtocol.html#a65fe65bdfb819fec434eba573daccc34">HaierProtocol::OnMins</a></div><div class="ttdeci">uint8_t OnMins</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:58</div></div>
<div class="ttc" id="aclassIRHaierAC_html_aa16b36aa7ef07628343dbd2dfe5157a2"><div class="ttname"><a href="classIRHaierAC.html#aa16b36aa7ef07628343dbd2dfe5157a2">IRHaierAC::setOffTimer</a></div><div class="ttdeci">void setOffTimer(const uint16_t mins)</div><div class="ttdoc">Set &amp; enable the Off Timer.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:290</div></div>
<div class="ttc" id="air__Haier_8h_html_ad554d38035ac15e4ea8b855802886989"><div class="ttname"><a href="ir__Haier_8h.html#ad554d38035ac15e4ea8b855802886989">kHaierAcYrw02FanAuto</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02FanAuto</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:191</div></div>
<div class="ttc" id="air__Haier_8h_html_ab096c15c69f242b99fbc1e4d7bd7548e"><div class="ttname"><a href="ir__Haier_8h.html#ab096c15c69f242b99fbc1e4d7bd7548e">kHaierAcYrw02TurboHigh</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02TurboHigh</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:194</div></div>
<div class="ttc" id="air__Haier_8h_html_a925252489fe34d9932151817d0dbe90b"><div class="ttname"><a href="ir__Haier_8h.html#a925252489fe34d9932151817d0dbe90b">kHaierAcMaxTemp</a></div><div class="ttdeci">const uint8_t kHaierAcMaxTemp</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:72</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a0189f929df672e9996d9c2959378d4af"><div class="ttname"><a href="classIRHaierACYRW02.html#a0189f929df672e9996d9c2959378d4af">IRHaierACYRW02::toCommon</a></div><div class="ttdeci">stdAc::state_t toCommon(void) const</div><div class="ttdoc">Convert the current internal state into its stdAc::state_t equivilant.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:845</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a65a5d5840dddac505b009e899a0dada7"><div class="ttname"><a href="classIRHaierACYRW02.html#a65a5d5840dddac505b009e899a0dada7">IRHaierACYRW02::send</a></div><div class="ttdeci">void send(const uint16_t repeat=kHaierAcYrw02DefaultRepeat)</div><div class="ttdoc">Send the current internal state as an IR message.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:537</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_aa0f1561e2446f6231f722581f5bae34d"><div class="ttname"><a href="classIRHaierACYRW02.html#aa0f1561e2446f6231f722581f5bae34d">IRHaierACYRW02::setButton</a></div><div class="ttdeci">void setButton(const uint8_t button)</div><div class="ttdoc">Set the Button/Command setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:583</div></div>
<div class="ttc" id="air__Haier_8h_html_a0f9c265510e1e27f38817f08ef9c622b"><div class="ttname"><a href="ir__Haier_8h.html#a0f9c265510e1e27f38817f08ef9c622b">kHaierAcYrw02ButtonFan</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02ButtonFan</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:206</div></div>
<div class="ttc" id="air__Haier_8h_html_a30c5d4e61ae3112a8a3e3622eecbb10b"><div class="ttname"><a href="ir__Haier_8h.html#a30c5d4e61ae3112a8a3e3622eecbb10b">kHaierAcYrw02Cool</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02Cool</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:198</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a4d73f75516afff0ef18bdbb7ed9c26ed"><div class="ttname"><a href="classIRHaierAC.html#a4d73f75516afff0ef18bdbb7ed9c26ed">IRHaierAC::toCommonMode</a></div><div class="ttdeci">static stdAc::opmode_t toCommonMode(const uint8_t mode)</div><div class="ttdoc">Convert a native mode into its stdAc equivilant.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:376</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a389e711e128533c409731d2c87868c85"><div class="ttname"><a href="classIRHaierACYRW02.html#a389e711e128533c409731d2c87868c85">IRHaierACYRW02::setRaw</a></div><div class="ttdeci">void setRaw(const uint8_t new_code[])</div><div class="ttdoc">Set the internal state from a valid code for this protocol.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:577</div></div>
<div class="ttc" id="air__Haier_8h_html_aa4b64385da5e9b2a89e15f70cd8c89e9"><div class="ttname"><a href="ir__Haier_8h.html#aa4b64385da5e9b2a89e15f70cd8c89e9">kHaierAcYrw02SwingBottom</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02SwingBottom</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:184</div></div>
<div class="ttc" id="aunionHaierProtocol_html_aecaad31185de1e7843047a9b9194d55b"><div class="ttname"><a href="unionHaierProtocol.html#aecaad31185de1e7843047a9b9194d55b">HaierProtocol::OffHours</a></div><div class="ttdeci">uint8_t OffHours</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:48</div></div>
<div class="ttc" id="air__Haier_8h_html_a8a34e74f7083caa98ed4afc31294539e"><div class="ttname"><a href="ir__Haier_8h.html#a8a34e74f7083caa98ed4afc31294539e">kHaierAcFanAuto</a></div><div class="ttdeci">const uint8_t kHaierAcFanAuto</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:96</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a1f7dffe29fbe67989b2f425d629850db"><div class="ttname"><a href="classIRHaierACYRW02.html#a1f7dffe29fbe67989b2f425d629850db">IRHaierACYRW02::convertSwingV</a></div><div class="ttdeci">static uint8_t convertSwingV(const stdAc::swingv_t position)</div><div class="ttdoc">Convert a stdAc::swingv_t enum into it's native setting.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:792</div></div>
<div class="ttc" id="air__Haier_8h_html_a96599917176ee244874926d1a530dd7e"><div class="ttname"><a href="ir__Haier_8h.html#a96599917176ee244874926d1a530dd7e">kHaierAcCmdOff</a></div><div class="ttdeci">const uint8_t kHaierAcCmdOff</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:73</div></div>
<div class="ttc" id="aunionHaierProtocol_html_a88942d48d868ff5697040d5a89f93099"><div class="ttname"><a href="unionHaierProtocol.html#a88942d48d868ff5697040d5a89f93099">HaierProtocol::Sleep</a></div><div class="ttdeci">uint8_t Sleep</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:59</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_afd9354c36df33434840bbc5f38d4e7ed"><div class="ttname"><a href="classIRHaierACYRW02.html#afd9354c36df33434840bbc5f38d4e7ed">IRHaierACYRW02::IRHaierACYRW02</a></div><div class="ttdeci">IRHaierACYRW02(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)</div><div class="ttdoc">Class constructor.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:527</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a738de44369e3322d264c8ee78cc72ab6"><div class="ttname"><a href="classIRHaierAC.html#a738de44369e3322d264c8ee78cc72ab6">IRHaierAC::toCommon</a></div><div class="ttdeci">stdAc::state_t toCommon(void) const</div><div class="ttdoc">Convert the current internal state into its stdAc::state_t equivilant.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:412</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a1c71cd51382036c4548b460a13072e91"><div class="ttname"><a href="classIRHaierAC.html#a1c71cd51382036c4548b460a13072e91">IRHaierAC::getOnTimer</a></div><div class="ttdeci">int16_t getOnTimer(void) const</div><div class="ttdoc">Get the On Timer value/setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:257</div></div>
<div class="ttc" id="air__Haier_8h_html_aa0873975b6649294a3c9943130cb7a38"><div class="ttname"><a href="ir__Haier_8h.html#aa0873975b6649294a3c9943130cb7a38">kHaierAcYrw02Heat</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02Heat</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:200</div></div>
<div class="ttc" id="aclassIRHaierAC_html_ab7faae274ff7f30bf7df3c58d6e7e210"><div class="ttname"><a href="classIRHaierAC.html#ab7faae274ff7f30bf7df3c58d6e7e210">IRHaierAC::checksum</a></div><div class="ttdeci">void checksum(void)</div><div class="ttdoc">Calculate and set the checksum values for the internal state.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:100</div></div>
<div class="ttc" id="aclassIRHaierAC_html_ade34c951e72a794c2ff7fa0d1595d68f"><div class="ttname"><a href="classIRHaierAC.html#ade34c951e72a794c2ff7fa0d1595d68f">IRHaierAC::setCommand</a></div><div class="ttdeci">void setCommand(const uint8_t command)</div><div class="ttdoc">Set the Command/Button setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:139</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a448b1d5db05f7722db4758e968ea3171"><div class="ttname"><a href="classIRHaierAC.html#a448b1d5db05f7722db4758e968ea3171">IRHaierAC::calibrate</a></div><div class="ttdeci">int8_t calibrate(void)</div><div class="ttdoc">Run the calibration to calculate uSec timing offsets for this platform.</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:254</div></div>
<div class="ttc" id="air__Haier_8h_html_ac63b91acdffa55d440b08aee05bda5dc"><div class="ttname"><a href="ir__Haier_8h.html#ac63b91acdffa55d440b08aee05bda5dc">kHaierAcSleepBit</a></div><div class="ttdeci">const uint8_t kHaierAcSleepBit</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:103</div></div>
<div class="ttc" id="air__Haier_8h_html_a3d36fbe1308221248f45044e5a671636"><div class="ttname"><a href="ir__Haier_8h.html#a3d36fbe1308221248f45044e5a671636">kHaierAcDry</a></div><div class="ttdeci">const uint8_t kHaierAcDry</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:92</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a3f6d071d215b0316cccc2e94c4786954"><div class="ttname"><a href="classIRHaierACYRW02.html#a3f6d071d215b0316cccc2e94c4786954">IRHaierACYRW02::validChecksum</a></div><div class="ttdeci">static bool validChecksum(uint8_t state[], const uint16_t length=kHaierACYRW02StateLength)</div><div class="ttdoc">Verify the checksum is valid for a given state.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:551</div></div>
<div class="ttc" id="air__Haier_8h_html_a4bff8829604ee927dda5cfc54bd6cfe6"><div class="ttname"><a href="ir__Haier_8h.html#a4bff8829604ee927dda5cfc54bd6cfe6">kHaierAcSwingUp</a></div><div class="ttdeci">const uint8_t kHaierAcSwingUp</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:86</div></div>
<div class="ttc" id="aclassIRHaierAC_html_aac354e2e4ad72d91667509398078b309"><div class="ttname"><a href="classIRHaierAC.html#aac354e2e4ad72d91667509398078b309">IRHaierAC::toCommonSwingV</a></div><div class="ttdeci">static stdAc::swingv_t toCommonSwingV(const uint8_t pos)</div><div class="ttdoc">Convert a stdAc::swingv_t enum into it's native setting.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:401</div></div>
<div class="ttc" id="air__Haier_8h_html_a74466c50b450b08407c9f226a5d657e5"><div class="ttname"><a href="ir__Haier_8h.html#a74466c50b450b08407c9f226a5d657e5">kHaierAcYrw02ButtonMode</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02ButtonMode</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:208</div></div>
<div class="ttc" id="air__Haier_8h_html_a0edb011bdf85197e63a32d37f8517dd2"><div class="ttname"><a href="ir__Haier_8h.html#a0edb011bdf85197e63a32d37f8517dd2">kHaierAcHeat</a></div><div class="ttdeci">const uint8_t kHaierAcHeat</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:93</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_afcd1dc8fbf846040ead3122d2b5ea3b7"><div class="ttname"><a href="classIRHaierACYRW02.html#afcd1dc8fbf846040ead3122d2b5ea3b7">IRHaierACYRW02::getSleep</a></div><div class="ttdeci">bool getSleep(void) const</div><div class="ttdoc">Get the Sleep setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:684</div></div>
<div class="ttc" id="aunionHaierProtocol_html"><div class="ttname"><a href="unionHaierProtocol.html">HaierProtocol</a></div><div class="ttdef"><b>Definition:</b> ir_Haier.h:30</div></div>
<div class="ttc" id="aclassIRHaierAC_html_ab92fd48ccb5707cb6d14e9d46ce42e17"><div class="ttname"><a href="classIRHaierAC.html#ab92fd48ccb5707cb6d14e9d46ce42e17">IRHaierAC::begin</a></div><div class="ttdeci">void begin(void)</div><div class="ttdoc">Set up hardware to be able to send a message.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:89</div></div>
<div class="ttc" id="air__Haier_8h_html_ae04e48e926a7533c3b62f0ff991e1f88"><div class="ttname"><a href="ir__Haier_8h.html#ae04e48e926a7533c3b62f0ff991e1f88">kHaierAcMaxTime</a></div><div class="ttdeci">const uint16_t kHaierAcMaxTime</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:101</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a53500ebdec058d27396e5906a572fe15"><div class="ttname"><a href="classIRHaierAC.html#a53500ebdec058d27396e5906a572fe15">IRHaierAC::setCurrTime</a></div><div class="ttdeci">void setCurrTime(const uint16_t mins)</div><div class="ttdoc">Set the clock value for the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:306</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a0e426a3479fd80bb3816f016fac22f19"><div class="ttname"><a href="classIRHaierACYRW02.html#a0e426a3479fd80bb3816f016fac22f19">IRHaierACYRW02::toCommonSwingV</a></div><div class="ttdeci">static stdAc::swingv_t toCommonSwingV(const uint8_t pos)</div><div class="ttdoc">Convert a stdAc::swingv_t enum into it's native setting.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:832</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html"><div class="ttname"><a href="classIRHaierACYRW02.html">IRHaierACYRW02</a></div><div class="ttdoc">Class for handling detailed Haier ACYRW02 A/C messages.</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:314</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a0b78060cbd150cd886a409adc2dea49c"><div class="ttname"><a href="classIRHaierAC.html#a0b78060cbd150cd886a409adc2dea49c">IRHaierAC::IRHaierAC</a></div><div class="ttdeci">IRHaierAC(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)</div><div class="ttdoc">Class constructor.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:84</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a9fb2a375cc1b8692fe4d5dcdd765cc46"><div class="ttname"><a href="classIRHaierAC.html#a9fb2a375cc1b8692fe4d5dcdd765cc46">IRHaierAC::setTemp</a></div><div class="ttdeci">void setTemp(const uint8_t temp)</div><div class="ttdoc">Set the temperature.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:207</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a0e9bea37c9f3a43ad205994b396d5cd2"><div class="ttname"><a href="classIRHaierAC.html#a0e9bea37c9f3a43ad205994b396d5cd2">IRHaierAC::getCommand</a></div><div class="ttdeci">uint8_t getCommand(void) const</div><div class="ttdoc">Get the Command/Button setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:158</div></div>
<div class="ttc" id="aunionHaierYRW02Protocol_html_a4ecca9653d14ccd283e44f6e385ff36a"><div class="ttname"><a href="unionHaierYRW02Protocol.html#a4ecca9653d14ccd283e44f6e385ff36a">HaierYRW02Protocol::Fan</a></div><div class="ttdeci">uint8_t Fan</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:155</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_aba5f028ee1ebf7be2d4de5a66237f01b"><div class="ttname"><a href="classIRHaierACYRW02.html#aba5f028ee1ebf7be2d4de5a66237f01b">IRHaierACYRW02::setTurbo</a></div><div class="ttdeci">void setTurbo(const uint8_t speed)</div><div class="ttdoc">Set the Turbo setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:705</div></div>
<div class="ttc" id="air__Haier_8h_html_a66cd902f2d35b4c8f66f085a0950a5fc"><div class="ttname"><a href="ir__Haier_8h.html#a66cd902f2d35b4c8f66f085a0950a5fc">kHaierAcYrw02Dry</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02Dry</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:199</div></div>
<div class="ttc" id="aunionHaierProtocol_html_af08311ee6680b3a6951bd200e2b8f310"><div class="ttname"><a href="unionHaierProtocol.html#af08311ee6680b3a6951bd200e2b8f310">HaierProtocol::OnHours</a></div><div class="ttdeci">uint8_t OnHours</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:55</div></div>
<div class="ttc" id="aunionHaierProtocol_html_a6f3893711bffc1d59d8e3d76e7a954a2"><div class="ttname"><a href="unionHaierProtocol.html#a6f3893711bffc1d59d8e3d76e7a954a2">HaierProtocol::OffTimer</a></div><div class="ttdeci">uint8_t OffTimer</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:45</div></div>
<div class="ttc" id="astructstdAc_1_1state__t_html"><div class="ttname"><a href="structstdAc_1_1state__t.html">stdAc::state_t</a></div><div class="ttdoc">Structure to hold a common A/C state.</div><div class="ttdef"><b>Definition:</b> IRsend.h:97</div></div>
<div class="ttc" id="aunionHaierProtocol_html_aeb39971e74e12fb0c7463006d6c644bd"><div class="ttname"><a href="unionHaierProtocol.html#aeb39971e74e12fb0c7463006d6c644bd">HaierProtocol::Command</a></div><div class="ttdeci">uint8_t Command</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:37</div></div>
<div class="ttc" id="aunionHaierYRW02Protocol_html_ab5b13626ecf6214cc1be52d47909915d"><div class="ttname"><a href="unionHaierYRW02Protocol.html#ab5b13626ecf6214cc1be52d47909915d">HaierYRW02Protocol::Button</a></div><div class="ttdeci">uint8_t Button</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:172</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a9a51f3d4b4c60ed7d99f9836a57bb3e5"><div class="ttname"><a href="classIRHaierACYRW02.html#a9a51f3d4b4c60ed7d99f9836a57bb3e5">IRHaierACYRW02::convertMode</a></div><div class="ttdeci">static uint8_t convertMode(const stdAc::opmode_t mode)</div><div class="ttdoc">Convert a stdAc::opmode_t enum into its native mode.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:765</div></div>
<div class="ttc" id="aunionHaierProtocol_html_a6eec6ff574e93f327ca567251b37e33b"><div class="ttname"><a href="unionHaierProtocol.html#a6eec6ff574e93f327ca567251b37e33b">HaierProtocol::OffMins</a></div><div class="ttdeci">uint8_t OffMins</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:52</div></div>
<div class="ttc" id="aunionHaierYRW02Protocol_html_a656449e6901b3333ca0efe4a2e662fc7"><div class="ttname"><a href="unionHaierYRW02Protocol.html#a656449e6901b3333ca0efe4a2e662fc7">HaierYRW02Protocol::Sum</a></div><div class="ttdeci">uint8_t Sum</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:175</div></div>
<div class="ttc" id="aunionHaierProtocol_html_a5842a170e3cdd0ad823cf244c7b8dd51"><div class="ttname"><a href="unionHaierProtocol.html#a5842a170e3cdd0ad823cf244c7b8dd51">HaierProtocol::Sum</a></div><div class="ttdeci">uint8_t Sum</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:62</div></div>
<div class="ttc" id="aclassIRHaierAC_html_ad67ee0b7299d041aad77382dde893229"><div class="ttname"><a href="classIRHaierAC.html#ad67ee0b7299d041aad77382dde893229">IRHaierAC::toCommonFanSpeed</a></div><div class="ttdeci">static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)</div><div class="ttdoc">Convert a native fan speed into its stdAc equivilant.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:389</div></div>
<div class="ttc" id="air__Haier_8h_html_af36b9c628a697f6c596052ecd143d80b"><div class="ttname"><a href="ir__Haier_8h.html#af36b9c628a697f6c596052ecd143d80b">kHaierAcYrw02ButtonPower</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02ButtonPower</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:207</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_ae762c5f5422b4af612fa00f7c26452ed"><div class="ttname"><a href="classIRHaierACYRW02.html#ae762c5f5422b4af612fa00f7c26452ed">IRHaierACYRW02::setMode</a></div><div class="ttdeci">void setMode(const uint8_t mode)</div><div class="ttdoc">Set the operating mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:606</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a58f8df6244a91d02e109b91197d535b9"><div class="ttname"><a href="classIRHaierACYRW02.html#a58f8df6244a91d02e109b91197d535b9">IRHaierACYRW02::getButton</a></div><div class="ttdeci">uint8_t getButton(void) const</div><div class="ttdoc">Get the Button/Command setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:600</div></div>
<div class="ttc" id="air__Haier_8h_html_ab780da80fc471f004c5b34dc8f347d00"><div class="ttname"><a href="ir__Haier_8h.html#ab780da80fc471f004c5b34dc8f347d00">kHaierAcCmdTimerCancel</a></div><div class="ttdeci">const uint8_t kHaierAcCmdTimerCancel</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:81</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a66e42d018f3d86b136624a347d333401"><div class="ttname"><a href="classIRHaierACYRW02.html#a66e42d018f3d86b136624a347d333401">IRHaierACYRW02::convertFan</a></div><div class="ttdeci">static uint8_t convertFan(const stdAc::fanspeed_t speed)</div><div class="ttdoc">Convert a stdAc::fanspeed_t enum into it's native speed.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:778</div></div>
<div class="ttc" id="anamespacestdAc_html_a99ad268c783486f9b3207cb78f48444f"><div class="ttname"><a href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a></div><div class="ttdeci">opmode_t</div><div class="ttdoc">Common A/C settings for A/C operating modes.</div><div class="ttdef"><b>Definition:</b> IRsend.h:46</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a9fe53d04965efca6daf234f20d20eb5a"><div class="ttname"><a href="classIRHaierAC.html#a9fe53d04965efca6daf234f20d20eb5a">IRHaierAC::send</a></div><div class="ttdeci">void send(const uint16_t repeat=kHaierAcDefaultRepeat)</div><div class="ttdoc">Send the current internal state as an IR message.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:94</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
